2012-05-22 2 views
7

Я хочу запустить exe exe после установки с помощью InstallShield. InstallShield правильно завершает настройку, но не запускает exe.Запустить решение exe после установки с помощью installshield

Я нашел другой способ добавить exe в startup, но он запускается после перезагрузки. Я бы хотел, чтобы он запускался без перезагрузки.

Возможно ли это?

+1

что это имеет отношение к asp.net? – Aristos

+1

Ничего. Также не имеет значения, что EXE является приложением C#. Теги удалены. Это также поможет понять, какая версия, версия и тип проекта используются в InstallShield. –

ответ

15

Какую версию и версию InstallShield вы используете? Также, какой тип проекта вы используете? (? InstallScript, InstallScript MSI, Basic MSI)

Предполагая, что Basic MSI, InstallShield имеет встроенный шаблон, чтобы поддержать эту историю:

1) Нажмите на помощника Project Tab

2) Нажмите на инсталляционный интервью Icon (Page)

3) Нажмите кнопку Да для «вы хотите, чтобы дать пользователям возможность запускать приложения при завершении установки?

4) Нажмите кнопку Обзор, чтобы выбрать EXE, который Shou ld - цель операции.

По умолчанию флажок (программа запуска) в диалоговом окне завершения установки не будет выбран. Чтобы его автоматически выбрать, добавьте свойство LAUNCHPROGRAM в таблицу свойств и установите значение «1».

+1

Я выполнил следующие шаги, и мое приложение запустилось. Однако пользовательский интерфейс не отображается. Но если я нажму на короткое сокращение на рабочем столе, появится пользовательский интерфейс. Я не знаю, чего не хватает, поскольку я новичок в этом. – skb

+0

Я предполагаю, что ваше приложение чувствительно к рабочему каталогу и что оно предоставляется вашим ярлыком. –

4

Ответ Кристофера Пейнтера будет работать для вас большую часть времени. Это первые шаги, которые нужно предпринять, но есть дополнительные сведения, если вы обнаружите, что этого недостаточно. Например, skb сообщил, что это не сработало для него. Я обнаружил, что я был в одной лодке (хотя я создал дюжину других инсталляторов, у которых была эта работа!).

  1. Следуйте инструкциям Кристофера Живописца.
  2. Щелкните на вкладке «Installation Designer». В «Пользовательском интерфейсе» выберите «Диалоги».
  3. В «Все диалоги» разверните «SetupCompleteSuccess» и выберите «Поведение».
  4. Выберите кнопку «ОК». Затем выберите «События». (посмотрите в нижней части экрана, где указано «События/Подписки/Условия»)
  5. У вас должно быть событие «DoAction» с «аргументом», равным «IS_LAUNCH_MY_PROGRAM_PLEASE» и «условием» для «LAUNCHPROGRAM». Если нет - добавьте это. «LAUNCHPROGRAM» относится к собственности этого имени. Он будет иметь значение 1, если выбран флажок запуска и, таким образом, соответствует этому условию. IS_LAUNCH_MY_PROGRAM_PLEASE относится к запущенному пользовательскому действию. Если вы хотите, вы можете изменить этот ЦС здесь, чтобы вместо этого выполнить любой пользовательский огонь. Я решил оставить это в покое, но заменил CA одним из своих.
  6. Откройте список пользовательских действий (Поведение и логика ... Пользовательские действия и последовательности). Вы должны найти CA там IS_LAUNCH_MY_PROGRAM_PLEASE. Удали это!
  7. Добавить свой собственный IS_LAUNCH_MY_PROGRAM_PLEASE CA. Щелкните правой кнопкой мыши «Custom Action» (заголовок списка) и выберите тип CA, который вы хотите, или запустите мастер. Просто не забудьте назвать его «IS_LAUNCH_MY_PROGRAM_PLEASE», если вы оставили поведение диалога по умолчанию.
  8. Чтобы запустить exe - с изменением РАБОЧИЙ ДИРЕКТОРА (это была причина, по которой мое приложение не появилось, и, по-видимому, также skb также основывается на комментариях) Выберите «New EXE» ... «Путь, ссылающийся на каталог».Измените «Обработка возврата» на «Асинхронный (нет ожидания завершения)». Обратите внимание: «Номер типа MSI» становится 226. Установите «Рабочий каталог» на INSTALLDIR (предполагая, что программа, которую вы хотите запустить, должна быть найдена в каталоге вашей новой программы). Установите «Filename & командной строки» на [INSTALLDIR]YourApp.exe.
+0

В качестве альтернативы можно было бы просто исправить свое приложение, чтобы он не был чувствительным к работе. –

+0

Это правда ... Но это не обязательно быстрее и проще. Есть веская причина, что рабочий каталог является практически универсальной чертой для всего, что запускает другие процессы, и почему в IS есть опция. Переориентация способности вашей программы разрешать относительные пути, чтобы успокоить установщика? Это кажется обратным. Другие инсталляторы обычно делают это тривиальным. У вас не должно быть жесткой связи с вашим установщиком. – BuvinJ

+0

Я бы сказал, что исправление установщика вокруг дефекта приложения происходит назад. После установки установщик установил рабочую директорию с плотной связью. И, вероятно, это быстрее и проще, потому что разработчик, задающий вопрос, скорее всего, лучше понимает свое приложение, чем делает его установщик. –

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