2008-09-13 1 views
20

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

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

ответ

8

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

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

1

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

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

4

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

+0

В папке совершения таможенных действий, которые вы можете выбрать добавить пользовательское действие и перейдите к вашему основному выходному еху. Это будет выполнено после установки. Вы также можете сделать это условной базой на флажке, который вы можете добавить в диалоги настройки. В свойстве условия вы бы имели CHECKBOXA1 = 1, например – 2015-04-25 11:45:48

4

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

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

+0

благодаря этой ссылке помогли мне понять весь процесс намного лучше – DeveloperChris 2011-05-09 03:02:26

+0

спасибо полезную ссылку – Ahmed 2012-11-26 23:19:57

0

мне это удалось, делая применение основного метода сборки, используя следующую строку:

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

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

благодаря

 Смежные вопросы

  • Нет связанных вопросов^_^