Procedura: distribuire un progetto di installazione e distribuzione
Aggiornamento: novembre 2007
In questo argomento viene illustrato un tipo di progetto di installazione e distribuzione. Per informazioni generali su questo scenario di distribuzione, vedere Scenari per esempi di distribuzione.
Procedure per la distribuzione di DLL della libreria di Visual C++ come assembly condivisi
Creare un progetto di installazione e distribuzione
Scegliere Nuovo progetto dal menu File, aprire il nodo Altri tipi di progetto e selezionare Installazione e distribuzione, quindi fare clic su Progetto di installazione. Specificare un nome e scegliere OK.
Nota: Visual C++ Express non supporta i progetti di installazione. Per ridistribuire le librerie di Visual C++ con applicazioni generate in Visual C++ Express, utilizzare Visual C++ Redistributable Package. Per ulteriori informazioni, vedere Procedura: distribuire tramite XCopy.
Aggiungere al progetto file EXE e DLL e specificare il percorso di installazione nel computer di destinazione
Scegliere Aggiungi dal menu Progetto, quindi File.
Individuare la cartella contenente MyApplication.exe e MyLibrary.DLL e selezionare entrambi i file.
Nella finestra File system fare clic con il pulsante destro del mouse su Cartella applicazione, scegliere Aggiungi e quindi Crea per creare una nuova cartella e denominarla MyLibrary.
Fare di nuovo clic su Cartella Applicazione, selezionare il file MyLibrary.DLL e trascinarlo nella cartella MyLibrary. In Esplora soluzioni, nell'area Dipendenze rilevate del progetto dovrebbero essere visualizzate le dipendenze da MFC90.dll e MSVCR90.dll rilevate da Visual Studio. È necessario aggiungere i moduli unione corrispondenti per queste DLL.
Scegliere Aggiungi dal menu Progetto, quindi Modulo unione. Selezionare Microsoft_VC90_CRT_x86.msm e Microsoft_VC90_MFC_x86.msm, quindi scegliere OK. Per le versioni di debug di questi moduli unione selezionare Microsoft_VC90_DebugCRT_x86.msm e Microsoft_VC90_DebugMFC_x86.msm.
Nota: Verificare che i moduli policy*.msm corrispondenti siano incorporati nel progetto. Ad esempio, policy_9_0_microsoft_vc90_crt_x86.msm e policy_9_0_microsoft_vc90_mfc_x86.msm corrispondono a Microsoft_VC90_CRT_x86.msm e Microsoft_VC90_MFC_x86.msm, rispettivamente. Visual Studio rileva che i moduli principali dipendono da questi moduli dei criteri e li elencano in Dipendenze rilevate. Se le dipendenze non sono rilevate automaticamente, sarà necessario unire manualmente i moduli dei criteri.
Per la distribuzione di applicazioni a 64 bit in un sistema operativo a 64 bit, selezionare il modulo unione della piattaforma corrispondente. Per x64, selezionare Microsoft_VC90_CRT_x86_x64.msm e Microsoft_VC80_MFC_x86_x64.msm. Per Itanium, Microsoft_VC90_CRT_x86_ia64.msm e Microsoft_VC90_MFC_x86_ia64.msm.
Generare setup.exe
- Scegliere Genera soluzione dal menu Genera.
Eseguire setup.exe
- Se il file setup.exe generato viene eseguito in un sistema operativo che supporta l'associazione basata su manifesto di applicazioni alle relative dipendenze (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), si verificano le situazioni seguenti:
Procedure per la distribuzione di DLL della libreria di Visual C++ come assembly privati
Creare un progetto di installazione e distribuzione
- Scegliere Nuovo progetto dal menu File, aprire il nodo Altri tipi di progetto e selezionare Installazione e distribuzione, quindi fare clic su Progetto di installazione. Specificare un nome, quindi scegliere OK.
Aggiungere al progetto file EXE e DLL e specificare il percorso di installazione nel computer di destinazione
Scegliere Aggiungi dal menu Progetto, quindi File.
Individuare la cartella contenente MyApplication.exe e MyLibrary.DLL e selezionare entrambi i file.
Nella finestra File system fare clic con il pulsante destro del mouse su Cartella applicazione, scegliere Aggiungi e quindi Crea per creare una nuova cartella e denominarla MyLibrary.
Fare di nuovo clic su Cartella Applicazione, selezionare il file MyLibrary.DLL e trascinarlo nella cartella MyLibrary. In Esplora soluzioni, nell'area Dipendenze rilevate del progetto, dovrebbero essere visualizzate le dipendenze da MFC90.dll e MSVCR90.dll rilevate da Visual Studio. È necessario aggiungere una cartella corrispondente per gli assembly dalla cartella \vc\redist.
Nota: Per le build di debug, utilizzare \vc\redist\debug_nonredist.
In Esplora risorse, aprire %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86.
Tenendo premuto CTRL, selezionare le cartelle Microsoft.VC90.CRT e Microsoft.VC90.MFC. Trascinare queste cartelle nella cartella dell'applicazione in Visual Studio.
Ripetere il passaggio 6, ma questa volta trascinare le cartelle nella cartella MyLibrary.
È possibile che venga visualizzato un messaggio di Visual Studio che indica che si sta includendo una DLL che fa parte di un modulo unione, ovvero l'azione che si desidera eseguire. Pertanto scegliere No per indicare che non si desidera utilizzare un file MSM per questa DLL.
È necessario disporre di mfcm90.dll e della relativa versione Unicode mfcm90u.dll solo se si utilizza l'integrazione MFC/Windows Form. In caso contrario è possibile eliminare queste DLL dall'installazione.
È necessario disporre di msvcm90.dll solo se nelle applicazioni si utilizza codice gestito, ad esempio se i progetti vengono generati con /clr o /clr:pure.
Se il progetto di installazione include .dll, mfcm90u.dll o msvcm90.dll, è necessaria l'installazione di .NET Framework. L'installazione non potrà funzionare senza .NET Framework 2.0 nel computer di destinazione.
Per il debug dell'installazione, modificare CRT in DebugCRT e MFC in DebugMFC nel precedente passaggio.
Per distribuire applicazioni a 64 bit in sistemi operativi a 64 bit, utilizzare \vc\redist\amd64 o \vc\redist\ia64.
Generare setup.exe
- Scegliere Genera soluzione dal menu Genera.
Eseguire setup.exe
Se il file setup.exe generato viene eseguito in un sistema operativo che supporta l'associazione basata su manifesto ((Windows XP Home Edition, Windows XP Professional, Windows Server 2003), si verificano le situazioni seguenti:
L'applicazione è installata nella cartella di destinazione specificata.
L'applicazione e la DLL utilizzano gli assembly CRT e MFC delle cartelle Microsoft.VC90.CRT e Microsoft.VC90.MFC in fase di esecuzione.
In un sistema operativo che non supporta l'associazione basata su manifesto (Windows 2000) questo metodo di distribuzione non è consigliato. Se si tenta di distribuire gli assembly Visual Studio come assembly privati su questi sistemi operativi attenendosi alla procedura descritta in precedenza, il caricatore del sistema operativo non sarà in grado di trovare le DLL CRT e MFC. Le cartelle che contengono Microsoft.VC90.CRT e Microsoft.VC90.MFC devono essere aggiunte alla variabile di ambiente PATH per essere trovate dal caricatore. In questa modalità possono verificarsi le situazioni seguenti:
L'applicazione è installata nella cartella di destinazione specificata.
Il caricatore del sistema risolverà il percorso degli assembly privati CRT e MFC dalle cartelle Microsoft.VC90.CRT e Microsoft.VC90.MFC tramite la variabile di ambiente PATH in fase di esecuzione.
Vedere anche
Attività
Procedura: distribuire tramite XCopy