2012-07-03 72 views
0

我有两个.reg文件,它们之间的区别只在于Key,这取决于Windows的版本。InstallScript和注册表

适用于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 64不同的是:我怎样才能使安装脚本(的InstallShield MSI),检查Windows版本,然后使用

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

当前的注册表文件。

请帮忙。

回答

1

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

(或可能走得更具体的在基于MSI的项目或引用类似"[#start.exe]" "%1"您的路径中使用动词的支持,假设你安装带有START.EXE的FileKey的该可执行文件 - 见Formatted了解详细信息)

+0

谢谢你................... – user525717