Мне нужно выполнить командный файл как часть процесса деинсталляции в проекте установщика Windows (стандартный установщик OOTB VS 2008 project-vdproj). Невозможно выполнить файл bat напрямую из пользовательских действий в проекте установщика, поэтому я написал быстрый скрипт vbs для вызова требуемого файла bat.
VBS код:
Set WshShell = WScript.CreateObject( "WScript.Shell" )
command = "uninstall-windows-serivce.bat"
msgbox command
WshShell.Run ("cmd /C " & """" & command & """")
Set WshShell = Nothing
Когда этот скрипт выполняется независимо от удаления, он работает отлично. Однако, когда он запускается как часть деинсталляции, он не выполняет файл bat (но отображается окно сообщения, поэтому я знаю, что файл vbs вызывается). Об ошибках не сообщалось (по крайней мере, что я могу сказать). Почему этот сценарий не работает как часть «Удаление пользовательского действия»