Creare una configurazione dell'applicazione in Visual Studio 2013


90

Ho già un progetto pronto per essere realizzato. Attualmente sto usando Visual Studio 2013.

Ma non so come creare una configurazione MSI in Visual Studio 2013, ma per Visual Studio 2010 ci sono molti tutorial là fuori che discutono su come creare una configurazione in Visual Studio 2010.

  • Questo significa che devo installare Visual Studio 2010 per creare una configurazione dell'applicazione per il mio progetto?

  • Qual è il modo più semplice per creare una configurazione dell'applicazione in Visual Studio 2013?


2
Prova Windows Installer XML (WIX) è estremamente personalizzabile ed estensibile, inoltre puoi integrarlo con i tuoi CI build. I progetti di installazione dell'applicazione sono stati rimossi nel 2012, è possibile utilizzare InstallShield SE che è stato incluso a un certo punto se è ancora necessario un programma di installazione rapido e sporco. Utilizzo di WIX nel 2013
Mgetz

VS 2012 e dopo non vi è alcun progetto di distribuzione come nel 2010
kostas cap.

1
che ne dici di fare clic una volta, signore @Mgetz? e come si usa il clic una volta?
Kaoru

@Kaoru Non ho mai fatto in modo che Clickonce funzioni in modo affidabile in nessuna versione di VS, quindi non sarò di grande aiuto. Ma in teoria funzionerebbe.
Mgetz

2
Clickonce ha alcune peculiarità piuttosto strane: devi eseguire nuove versioni della stessa installazione dalla directory di installazione originale per eseguire un aggiornamento automatico. Inoltre sembra che devi portare in giro la cartella allegata con il file clickonce .exe. Quello che ho fatto è stato avvolgere il materiale di installazione di Clickonce all'interno di un archivio SFX con winrar, eseguendolo sempre dalla directory temp e creando essenzialmente un "click anche meno di una volta installer".
Traubenfuchs

Risposte:


131

Microsoft ha ascoltato il grido di supportare i programmi di installazione (MSI) in Visual Studio e ha rilasciato l' estensione dei progetti di installazione di Visual Studio . Ora puoi creare programmi di installazione in VS2013, scarica l'estensione qui dalla visualstudiogallery.

visual-studio-installer-project-extension


1
Nuove e ottime informazioni. Microsoft dovrebbe migliorare il loro articolo correlato KB2900817
satoc

@peer Not soluzione in VS 2012? Alternative? Esempi di codice sorgente completo in VS2012?
Kiquenet

@kiquenet no, vs2012 non è supportato. La maggior parte dei progetti viene aggiornata con qualsiasi lavoro a vs2013 e retrocompatibile con vs2012.
Peter il

4
Non preoccuparti di leggere l'articolo ... ti dice semplicemente di fare quanto segue: Vai su Strumenti -> Estensioni e aggiornamento. Scegli la scheda ONLINE. Cerca "Visual Studio Installer Projects Extension"
Prisoner ZERO

Ho una soluzione VS 2010 che contiene un progetto di installazione, quando la soluzione viene compilata con VS 2010, viene creato un file msi. Ora abbiamo solo VS 2013 e non posso modificare / migrare il progetto di installazione. Cosa devo fare per creare il file msi?
Jirong Hu

10

A partire da Visual Studio 2012, Microsoft non fornisce più il pacchetto di distribuzione integrato. Se desideri utilizzare questo pacchetto, dovrai utilizzare VS2010.

Nel 2013 hai diverse opzioni:

  • InstallShield
  • WiX
  • Rotola il tuo

Nei miei progetti creo da zero i miei installatori che, non essendo Windows Installer, hanno il vantaggio di essere super veloci, anche su macchine vecchie.


Tu @ ming-slogar hai qualche applicazione di esempio con un tale programma di installazione che vorresti condividere con noi?
Highmastdon

@ Highmastdon: Fondamentalmente ho appena creato un programma di installazione bootstrapper con C ++ nativo (configurato in modo da poter essere eseguito senza preinstallare le librerie di runtime C ++) che ha verificato la presenza di .NET installato e ha lanciato un programma di installazione GUI WPF. Il programma di installazione di WPF ha consentito all'utente di scegliere una serie di opzioni e quindi di copiare i file e scrivere le chiavi di registro. Non ho un'applicazione "campione" - Sto utilizzando l'installer nel progetto su cui sto lavorando, ma posso provare a estrarre un campione se ne hai bisogno.
Ming Slogar

Vorrei davvero vedere un esempio completo di questo. Ti dispiace condividere? Non il codice in sé, ma il concetto e qualcosa dalla tua esperienza? Ad esempio, come lo incorpori nel progetto che verrà installato, come automatizzi le cose comuni (copiando l'elenco dei file, regole: sovrascrivi / non sovrascrivi, ecc.). Inoltre, sto usando NSIS atm, ma sono stanco del suo linguaggio di scripting, della brutta interfaccia utente moderna e del design molto molto lento (è ancora nell'XP Stone Age).
Sinatr

@ Sinatr Per incorporare gli assembly ho fatto un uso massiccio di file di risorse, sia in C ++ che in C #. Per copiare i file, ero effettivamente pigro e ho scritto a mano ogni operazione sui file (ad esempio utilizzando File.WriteAllByteso File.WriteAllText, a seconda del tipo di file). Non gestivo la sovrascrittura dei file esistenti: tutti i miei assembly avevano il prefisso del nome della mia app (ad esempio AppName.Controls.dll, AppName.Images.dll), quindi la possibilità di un file duplicato sarebbe stata davvero ridotta. Se vuoi gestire ogni singolo scenario possibile, dovresti fare quello che fa Windows Installer, il che sconfigge lo scopo della personalizzazione.
Ming Slogar

7
@Kiquenet Ho caricato il codice per il mio programma di installazione personalizzato qui: drive.google.com/… . Non verrà compilato a causa delle dipendenze mancanti (l'ho estratto da un progetto live), ma puoi almeno vedere come ho creato il programma di installazione.
Ming Slogar

3

Visual Studio 2013 ora supporta i progetti di installazione. Microsoft ha fornito un'estensione di Visual Studio per produrre progetti di installazione.

Estensione progetti di installazione di Visual Studio


Ciao @Hamid, Dopo aver completato l'installazione della configurazione MSI della finestra, i miei file raw (progettazione e codifica) vengono visualizzati anche nella posizione di installazione. Ho sviluppato questa applicazione utilizzando Visual Studio 2010. Installazione creata con successo, ma dopo l'installazione che MSI si verifica questo problema. Mi aiuti per favore. Grazie in anticipo.
dilipkumar1007

Cercando di capire la tua domanda. hai creato un progetto di installazione con visual studio 2010 e non funziona con visual studio 2013?
Hamid Shahid

2

Microsoft consiglia di utilizzare "InstallShield Limited Edition per Visual Studio" in sostituzione del "Progetto di distribuzione e installazione" interrotto, ma non è così bello e nessun altro consiglia di utilizzarlo. Ma per configurazioni semplici e se non è un problema affidarsi a prodotti commerciali di terze parti, puoi usarlo.

L'alternativa è usare Windows Installer XML (WiX) , ma devi fare molte cose manualmente che hanno fatto il Setup-Project da solo.


Sono completamente d'accordo con @Kiquenet - Puoi provare il tutorial da wix.tramontana.co.hu
habakuk

Ho installato 2015LE all'interno di VS 2010 e posso creare un progetto di installazione IS all'interno di VS 2010. Ora come posso chiamare questo progetto in Jenkins? Il plug-in InstallShield per Jenkins chiede il percorso per ISCmdBld.exe, che non riesco a trovare in 2015LE.
Jirong Hu,


1

Oltre a Install Shield e WiX, c'è Inno Setup . Anche se non l'ho provato io stesso, ne ho sentito parlare bene.


1

Dirò come ho risolto un problema quasi simile. Ho sviluppato un'applicazione utilizzando VS 2013 e ho provato a creare una procedura guidata perché non è riuscita. Successivamente ho installato VS premium e ho provato e fallito.

finalmente ho usato "ClickOnce" e ha funzionato bene.

Quindi credo che anche qui "CLICKONCE" ti aiuterebbe.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.