Ну, после долгих поисков, проб и ошибок я решил это. Я не уверен, что это лучший способ, но он работает.
Вот сценарий: у меня есть приложение, которое я хотел бы развернуть через проект установки Visual Studio. В дополнение к моим файлам приложений, я хотел бы создать подкаталог в целевом каталоге, который содержит пакетный (.bat) файл. Мне бы хотелось, чтобы этот файл запускался в конце процесса установки.
Вот что вы делаете:
- Создайте проект установки и настройте его, как обычно, включая подкаталог, в который вы поместите свой пакетный файл (вы можете просто поместить его непосредственно в папку приложений, если вы не хотите, чтобы он находился в подкаталоге).
- В представлении «Файловая система» (щелкните правой кнопкой мыши проект в обозревателе решений-> Вид-> Файловая система), добавьте пакетный файл, который вы хотите выполнить и cmd.exe (C: \ Windows \ System32 \ cmd.exe)
- Откройте представление «Настраиваемые действия» (щелкните правой кнопкой мыши проект в Обозревателе решений-> Вид-> Настраиваемые действия)
- Щелкните правой кнопкой мыши на «Commit» и выберите «Add Custom Action»
- Перейдите к cmd.exe и выберите его.
- Открыть панель свойств для вновь созданного настраиваемого действия.
- Удалить / зафиксировать из свойства Arguments.
- Введите:
/c "[TARGETDIR]subdirectoryname\batchfile.bat"
в свойстве Аргументы, где имя подкаталога должно быть заменено именем вашего подкаталога (если вы поместили пакетный файл в подкаталог, как я сделал ... если вы не сделали t, значение должно быть /c "[TARGETDIR]batchfile.bat"
), а batchfile.bat должно быть именем вашего командного файла.
Вот и все. Пакетный файл теперь будет выполняться после завершения процесса установки.
Вот пример для ясности:
Мой пакетный файл: blah.bat
Мой подкаталог: mydir
Значением Аргументов для моего настраиваемого действия, нацеленного на cmd.exe, будет
/c "[TARGETDIR]mydir\blah.bat"
Надеюсь, это кому-нибудь поможет!