0

我有两个 .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\""

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

请帮忙。

4

1 回答 1

1

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

(或者可能通过在基于 MSI 的项目中使用动词支持来更具体。或者参考类似"[#start.exe]" "%1"路径的内容,假设您使用 start.exe 文件键安装该可执行文件 - 有关详细信息,请参阅格式化。)

于 2012-07-03T11:47:32.543 回答