2012-05-22 11 views
7

Voglio eseguire il mio exe dopo l'installazione utilizzando InstallShield. InstallShield completa correttamente l'installazione ma non esegue l'exe.Eseguire la soluzione exe dopo l'installazione utilizzando installshield

Ho trovato un altro modo per aggiungere un exe all'avvio ma viene eseguito dopo il riavvio. Mi piacerebbe che funzionasse senza riavvio.

È possibile?

+1

cosa ha a che fare con asp.net? – Aristos

+1

Niente. Né importa che l'EXE sia un'applicazione C#. Tag rimossi. Aiuta anche a capire quale versione, edizione e tipo di progetto in InstallShield viene utilizzato. –

risposta

15

Quale versione e versione di InstallShield stai utilizzando? Anche quale tipo di progetto stai usando? (? InstallScript, InstallScript MSI, Basic MSI)

Supponendo di base MSI, InstallShield ha un modello integrato per supportare questa storia:

1) Fare clic sul Assistente Progetto Tab

2) Cliccare su sull'icona di installazione Interview (Pagina)

3) fare clic su Sì per "volete dare agli utenti la possibilità di lanciare la vostra applicazione quando l'installazione è completa?

4) fare clic sul pulsante Sfoglia per selezionare il file EXE che shou essere l'obiettivo dell'operazione

Per impostazione predefinita, la casella di controllo (programma di avvio) nella finestra di dialogo di completamento dell'installazione non verrà selezionata. Per selezionarlo, aggiungi automaticamente la proprietà LAUNCHPROGRAM alla tabella delle proprietà e impostalo su un valore '1'.

+1

Ho seguito questi passaggi e la mia app è stata avviata. Tuttavia l'interfaccia utente non viene visualizzata. Ma se clicco sulla scorciatoia sul desktop appare l'interfaccia utente. Non so cosa mi manchi perché sono nuovo in questo. – skb

+0

Immagino che la tua applicazione sia sensibile alla directory di lavoro e che sia fornita dal tuo collegamento. –

4

La risposta di Christopher Painter funzionerà per la maggior parte del tempo. Questi sono i primi passi da fare, ma ci sono alcuni dettagli aggiuntivi se trovi che non è abbastanza. Ad esempio, skb ha riferito che questo non ha funzionato per lui. Ho scoperto che ero nella stessa barca (anche se ho costruito una dozzina di altri installatori con questo lavoro!).

  1. Seguire le istruzioni di Christopher Painter.
  2. Fare clic sulla scheda "Installation Designer". All'interno di "Interfaccia utente" selezionare "Finestre".
  3. All'interno di "Tutte le finestre di dialogo", espandere "SetupCompleteSuccess" e selezionare "Comportamento".
  4. Selezionare il controllo del pulsante "Ok". Quindi, seleziona "Eventi". (guarda in fondo allo schermo dove dice Eventi/Abbonamenti/Condizioni)
  5. Si dovrebbe avere un evento "DoAction", con un "argomento" uguale a "IS_LAUNCH_MY_PROGRAM_PLEASE" e una "condizione" di "LAUNCHPROGRAM". Altrimenti, aggiungilo. "LAUNCHPROGRAM" si riferisce alla proprietà di quel nome. Avrà un valore pari a 1 se la casella di controllo di avvio è selezionata e quindi soddisfa questa condizione. IS_LAUNCH_MY_PROGRAM_PLEASE fa riferimento all'azione personalizzata che viene avviata. Se lo desideri, puoi modificare la CA qui per fare invece un'azione personalizzata. Ho deciso di lasciare questo da solo, ma sostituire il CA con uno dei miei.
  6. Apre l'elenco di azioni personalizzate (Comportamento e logica ... Azioni e sequenze personalizzate). Dovresti trovare una CA chiamata IS_LAUNCH_MY_PROGRAM_PLEASE. Cancellalo!
  7. Aggiungi il tuo IS_LAUNCH_MY_PROGRAM_PLEASE CA. Fare clic con il tasto destro del mouse su "Azione personalizzata" (l'intestazione dell'elenco) e selezionare il tipo di CA desiderato, oppure avviare la procedura guidata. Assicurati di chiamarlo "IS_LAUNCH_MY_PROGRAM_PLEASE" se hai lasciato il comportamento del dialogo come predefinito.
  8. Per avviare un exe - con la DIRECTORY DI LAVORO modificata (che era il motivo per cui la mia app non sarebbe apparsa, e apparentemente anche skb in base ai commenti) Seleziona "Nuovo EXE" ... "Percorso che fa riferimento a una directory".Cambia "Elaborazione di reso" in "Asincrono (nessuna attesa per il completamento)". Notare che il "numero di tipo MSI" diventa 226. Impostare "Directory di lavoro" su INSTALLDIR (supponendo che il programma che si desidera avviare si trovi nella directory del nuovo programma). Impostare "Nome file & riga di comando" su [INSTALLDIR]YourApp.exe.
+0

In alternativa, si potrebbe semplicemente correggere la propria app in modo che non funzioni come directory sensibile. –

+0

È vero ... Ma non è necessariamente più semplice e veloce. C'è una buona ragione per cui impostare una directory di lavoro è un tratto virtualmente universale per tutto ciò che lancia altri processi e perché esiste anche un'opzione per questo in IS. Ridisegnare la capacità del tuo programma di risolvere i percorsi relativi, al fine di placare il programma di installazione? Sembra indietro. Altri installatori di solito rendono questo banale. Non dovresti avere un accoppiamento stretto con il tuo programma di installazione. – BuvinJ

+0

Direi che avere la patch di installazione attorno a un difetto dell'applicazione è all'indietro. Avere il programma di installazione imposta la directory di lavoro È accoppiamento stretto. E probabilmente è più semplice e veloce perché lo sviluppatore che pone la domanda probabilmente comprende meglio la sua applicazione, quindi fa il suo programma di installazione. –

Problemi correlati