InstallScript和注册表

时间:2012-07-03 09:37:45

标签: install installshield installscript

我有两个.reg文件,它们之间的区别仅在于Key,这取决于Windows的版本。

我的Windows x86注册表文件:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\NGG]
@="URL:NGG Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\NGG\DefaultIcon]
@="C:\\wpf.exe"
"Test"="ika"

[HKEY_CLASSES_ROOT\NGG\Shell]

[HKEY_CLASSES_ROOT\NGG\Shell\Open]

[HKEY_CLASSES_ROOT\NGG\Shell\Open\command]
@="\"C:\\Program Files\\NGG\\start.exe\" \"%1\""

Windows x64的区别:

@="\"C:\\Program Files(x86)\\NGG\\start.exe\" \"%1\""

如何制作安装脚本(InstallShield MSI),检查Windows版本,然后使用当前的注册表文件。

请帮忙。

1 个答案:

答案 0 :(得分:1)

我会避免使用.reg文件。而是使用InstallShield和/或Windows Installer对注册表中的变量值的支持,并在基于MSI的安装中指定"[ProgramFilesFolder]NGG\start.exe" "%1"或在基于InstallScript的安装中指定"<PROGRAMFILES>\NGG\start.exe" "%1"作为注册表视图中的值。

(或者在基于MSI的项目中使用Verb支持可能更具体。或者为您的路径引用类似"[#start.exe]" "%1"的内容,假设您使用start.exe的文件密钥安装该可执行文件 - 请参阅{{ 3}}了解详情。)