У меня есть программа, которую я устанавливаю, используя скрипт NSIS. Последний шаг в установщике - запись в ключ запуска реестра и запуск программы при запуске. Я подтвердил, что под
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
существует ключ
MyCompany Program - C:\MyCompany\Program\launch.vbs
Я пробовал ключ с и без кавычек, но не было никакого воздействия. Я подтвердил, что реестр читает из CurrentVersion\Run, добавив
Notepad - C:\windows\notepad.exe
и Блокнот теперь запускается при запуске. Сценарий launch.vbs - это один из способов запуска сценария без окна cmd.exe:
'HideBat.vbs from https://superuser.com/questions/140047/how-to-run-a-batch-file-without-launching-a-command-window
CreateObject("Wscript.Shell").Run "cmd /c " & chr(34) & "C:\MyCompany\Program\run.cmd " & chr(34), 0, True
Я подтвердил, что вызов launch.vbs из окна проводника или из cmd.exe работает, как я ожидаю (запуск моей программы). msconfig подтверждает, что C:\MyCompany\Program\launch.vbs указан на вкладке запуска. Вкладка «Безопасность» в «Свойствах файла» указывает, что все пользователи должны иметь права на чтение и выполнение. То же самое можно сказать и о run.cmd.
На данный момент я не знаю, почему моя программа не запускается, и я не могу найти эффективный способ ее отладки.
Система Windows 7 Профессиональная 64-битная.