Подтвердить что ты не робот

Как запустить исполняемый файл в конце проекта установки?

У меня есть проект установки Visual Studio, который я использую для установки довольно простого приложения WinForms. В конце установки у меня есть страница пользовательского интерфейса, на которой показан один флажок, который запрашивает у пользователя, хочет ли он запускать приложение. Я видел, как другие инсталляторы делают это довольно часто. Но я не могу найти способ заставить проект установки запустить исполняемый файл после завершения установки. Идеи?

ПРИМЕЧАНИЕ. Вы не можете использовать пользовательские действия, потому что они используются как часть процесса установки, я хочу запустить мое установленное приложение, как только пользователь нажмет кнопку "Закрыть" в конце установки.

4b9b3361

Ответ 1

Я считаю, что это один из реальных ограничений проекта установки Visual Studio. Вы должны иметь возможность изменять последнюю страницу пользовательского интерфейса установки, но VS.NET не дает вам возможности сделать это. Вы можете изменить таблицы в .MSI после того, как она была построена, но VS.NET, вероятно, перезапишет эти изменения каждый раз, когда она будет построена. Вы можете переопределить последнюю страницу с помощью модуля слияния, который вы включите в проект установки. В любом случае вам нужно будет ознакомиться с тем, как создаются диалоговые окна пользовательского интерфейса в .MSI, и это не тривиально.

Возможно, вам захочется перейти на бесплатный установщик на основе script или купить коммерческое приложение для создания приложений (просто не покупайте InstallShield для любви к Pete). Взгляните на InstallAware (хотя я его не использовал).

Ответ 2

Вы также можете использовать пользовательские действия

Ответ 3

Я нашел очень простой способ, который не требует внешних инструментов. Вам нужно только добавить файл класса к основному проекту и настраиваемое действие в проект установки.

http://www.codeproject.com/KB/install/Installation.aspx

Ответ 4

Я сделал это для внутренних приложений, создав жгут проводов VB Script, который запускает исполняемый файл установки, ждет его закрытия, а затем запускает вторую программу.

Вы также можете выполнить это с немного более польским, используя несколько вызовов Win API в исполняемом файле C.

Ответ 5

Вы можете использовать MSILAUNCH (хотя я только получил его для работы с MSICREATE).

http://www.cornerhouse.ca/en/msi.html

Ответ 6

Мне это удалось, выполнив вызов метода Main с помощью следующей строки:

(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )

Ответ 7

вы можете сделать это с помощью настраиваемого установщика. просто добавьте класс установщика и там вы увидите много событий, как после установки, перед установкой. просто подключитесь после установки и оттуда запустите ur exe по классу процесса. я бы предложил u google, чтобы узнать больше о пользовательском установщике. вот одна хорошая ссылка, которая может помочь u http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis

спасибо