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

Установщик Visual Studio> Как запустить приложение в конце установщика

Это, наверное, глупый вопрос, и мой Googling просто не работает сегодня.

У меня есть приложение, к которому я добавил проект установщика Visual Studio > Wizard. Мне интересно, как добавить кнопку или флажок, который запустит приложение после успешной установки. Это будет расположено на последней странице пакета установщика MSI. Я использую Visual Studio 2010 Ultimate.

Мне это нужно, так что, когда приложение выполняет автоматическое обновление, оно автоматически запускает установщик. Мне просто нужно, чтобы установщик перезапустил приложение после обновления.

Это, наверное, очень просто, но для жизни меня я не могу понять. Заранее спасибо за помощь.

4b9b3361

Ответ 1

Чтобы запустить любое приложение после завершения установки,

  • Щелкните правой кнопкой мыши проект установки, нажмите "Пользовательские действия".
  • Затем щелкните правой кнопкой мыши Commit, Add Custom Action и выберите файл, который вы хотите запустить. (Обратите внимание, что он уже должен находиться в вашей папке приложения, что не должно быть проблемой в вашем случае, так как вы все равно запускаете свою программу.
  • Просто выберите результат своего проекта.
  • Затем нажмите на этот добавленный файл .exe и измените InstallerClass на false. Это важно, потому что в противном случае он будет искать программу-установщик.
  • Вы даже можете передать параметры в ваш .exe, добавив их в свойство Arguments

Ответ 2

В Visual Studio 2010 здесь легко...

Шаг1: добавьте новый класс установщика в проект приложения, который вы хотите запустить после установки, назовите его, как вам нравится.

Шаг 2: добавьте следующий код в класс установщика, который вы только что добавили, чтобы скопировать MyApplication.exe с именем вашего.

Public Overrides Sub Commit(ByVal savedState As System.Collections.IDictionary)

    MyBase.Commit(savedState)
    System.Diagnostics.Process.Start(System.IO.Path.GetDirectoryName(Me.Context.Parameters("AssemblyPath")) + "\MyApplication.exe")

End Sub

Скомпилировать и перейти...

Ответ 3

Попробуйте проверить этот пост в блоге: http://blogs.msdn.com/b/astebner/archive/2006/08/12/696833.aspx

Я не могу подтвердить, работает ли он в 2010 году или нет; Я все еще придерживаюсь 2008 года, пока мой TFS-сервер не будет обновлен. Кроме того, я использую WiX для своих установщиков. Но это просто пользовательское действие, поэтому я думаю, что он все равно должен поддерживаться.

Надеюсь, это поможет!

(Кстати, практикуя мой поиск в Google, ваш вопрос появился на первой странице Google для этого вопроса.)

Ответ 4

В моем случае я боролся с этим некоторое время, и решение было только там. Решение, предоставляемое с помощью пользовательского действия непосредственно на основной выход приложения, не было хорошим для меня, поскольку приложение для установки остается до тех пор, пока вы не покинете основное приложение. Таким образом, проблема может быть решена с использованием следующего подхода:

  • Добавить класс установки в ваш проект;
  • В новом классе переопределите метод Commit, например, Jarrod говорил выше.

    System.Diagnostics.Process.Start(System.IO.Path.GetDirectoryName(this.Context.Parameters["AssemblyPath"]) + @"\MyApplication.exe");

  • Теперь трюк: перейдите в панель "Пользовательские действия" в проекте "Установщик" и добавьте основной вывод вашего проекта в папки "Commit" и "Install". Не изменяйте ничего в свойствах. Он будет работать именно так. По умолчанию он получит класс установщика, в который вы вставили код, в предыдущей точке;
  • Создайте свой установочный пакет и установите его. Вы должны заметить, что приложение запустится в конце;
  • Просто закройте успешное предупреждение об установке и перейдите к нему.

Чтобы узнать больше об этом и о том, где я его получил, посетите this.

PS: Я сделал это с помощью VS2017 и Framework 2.0.

Ответ 5

Добавление другого ответа, потому что ни один из предыдущих ответов не касается вопроса о флажке или кнопке в исходном сообщении.

Вы добавили бы один из готовых диалогов в ваш проект установки, например, CheckBoxes (A), щелкнув правой кнопкой мыши кнопку "Пуск" в представлении "Пользовательский интерфейс". Щелкните правой кнопкой мыши диалог после добавления, чтобы переместить его. Вам нужен только один флажок, чтобы задать вопрос о запуске программы, чтобы устранить остальные. Имя свойства по умолчанию - CHECKBOXA1, поэтому добавьте условие к пользовательскому действию, которое отключает ваш код CHECKBOXA1 = 1, что означает, что он был проверен.