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, а затем использует этот текущий файл реестра.

Пожалуйста помоги.


person user525717    schedule 03.07.2012    source источник


Ответы (1)


Я бы не стал использовать для этого файлы .reg. Вместо этого используйте поддержку значений переменных в реестре в InstallShield и/или установщике Windows и укажите либо "[ProgramFilesFolder]NGG\start.exe" "%1" при установке на основе MSI, либо "<PROGRAMFILES>\NGG\start.exe" "%1" при установке на основе InstallScript в качестве значения в представлении реестра.

(Или, возможно, сделайте еще более конкретным, используя поддержку Verb в проекте на основе MSI. Или укажите что-то вроде "[#start.exe]" "%1" для своего пути, предполагая, что вы устанавливаете этот исполняемый файл с файловым ключом start.exe — см. Formatted для получения подробной информации.)

person Michael Urman    schedule 03.07.2012