2016-12-02 7 views
0

Следующего кода является миром сценария, который установлен для исполнения InstallShield при установке моего приложения: Custom Actions During Installation > After Register ProductInstallShield - Использование VBScript для записи реестра

Set wsShell = CreateObject("WScript.Shell") 
wsShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\My Program\FilePath", "{the file path}" 

Когда я запускаю скрипт из командной строки он работает как должен и записывается в реестр. Но когда я пытаюсь использовать установочный файл, он не показывает ошибок, но значение реестра не задано.

Почему это не работает?

Я запускаю его как администратор.

+0

Родственный http://stackoverflow.com/q/14384235/692942. Возможно ли, что из-за 32-битного или 64-битного реестра запись реестра заканчивается в неправильной области реестра? Выполняется ли инсталлятор в 32-разрядной или 64-разрядной версии, а также в том, что такое ОС, 32 или 64 бит? – Lankymart

ответ

0

Вы можете использовать этот код для регистрации информации в вас Msi журнал, это может помочь вам понять, что происходит

Function LogMSIInfo(msg,msgtype) 
    Dim rec 
    Set rec = Session.Installer.CreateRecord(1) 
    rec.StringData(0) = msg 
    LogMSIInfo = Session.Message(&H04000000, rec) 
End Function