procedura dettagliata: implementare un VSPackage
In questa procedura dettagliata, è possibile esaminare un metodo di base per implementare un VSPackage.
Introduzione
utilizzare due computer per questa procedura dettagliata, come segue:
Un computer di sviluppo che ha Visual Studio e Visual Studio SDK è installato.
Un computer di destinazione in cui sono Visual Studio installato ma non ha Visual Studio SDK è installato.
Nota
Se si dispone di un solo computer, è possibile sviluppare e distribuire nello stesso computer.Tuttavia, in questo caso, non è possibile pulire il Registro di sistema tramite l'utilità di Reimpostare istanza sperimentale di Visual Studio 2010 .Se si dispone di Virtual PC installato nel computer, è possibile distribuire a un'immagine virtuale.
Per completare questa procedura dettagliata, è necessario installare Visual Studio 2010 SDK. per ulteriori informazioni su Visual Studio SDK, vedere Cenni preliminari sull'estensione di Visual Studio. Per ulteriori informazioni su come scaricare Visual Studio SDK, vedere Centro per sviluppatori di estensibilità di Visual Studio il sito Web MSDN.
Posizioni del modello di progetto del pacchetto Visual Studio
Il modello di progetto del pacchetto Visual Studio è disponibile in tre posizioni diverse nella finestra di dialogo di nuovo progetto :
Sotto di estensibilità di Visual Basic. La lingua predefinita del progetto di Visual Basic.
Sotto di estensibilità di c#. La lingua predefinita del progetto è c#.
Nell'ambito dell'altra estensibilità dei tipi di progetto. La lingua predefinita del progetto è C++.
Creare un package VS di base
Innanzitutto, creare una base VSPackage per implementare. Questo package VS visualizzata una finestra di dialogo in risposta a un comando di menu.
Per creare un package VS di base
Creare un package VS denominato DeployPackage con il modello di progetto del pacchetto di Visual Studio. Scegliere OK.
Nella pagina di selezionare un linguaggio di programmazione , in Visual C# selezionato o su Visual Basic.
Non modificare i valori predefiniti nella pagina di Informazioni di base di un VSPackage .
Nella pagina di Selezionare le opzioni di package VS , comando di menuselezionato. Scegliere Avanti.
Nome del comando di modifica a Un comando di distribuzione. Scegliere Avanti.
Deselezionare progetto di test di integrazione. Fare clic su Fine.
Il modello viene generata una soluzione di DeployPackage.
Distribuzione tramite Xcopy utilizzando codebase
Un modo per distribuire un pacchetto VS è tramite la distribuzione XCOPY, denominata in base allo strumento di DOS che copia un file nel percorso. Copiare semplicemente il package VS alla cartella della scelta nel computer di destinazione. Una distribuzione come questa certamente ha esito negativo, poiché le chiavi appropriate del Registro di sistema non sono state inizializzate nel computer di destinazione.
È possibile inizializzare il Registro di sistema tramite file reg contenente le chiavi e i valori desiderati. È possibile generare il file REG per il package VS tramite l'utilità di Regpkg.exe.
Nota
La modalità preferita per registrare i pacchetti in Visual Studio è utilizzando file .pkgdef.Ciò consente la distribuzione di un'estensione senza richiedere l'accesso al Registro di sistema.I file di Pkgdef vengono creati utilizzando utilità di CreatePkgDef.
Per generare il file del Registro di sistema
Nella finestra di commando di Modelli SDM (system definition model), passare alla cartella che contiene DeployPackage.dll. Questa operazione viene in genere si trova nel progetto \bin\Debug \.
Digitare la riga seguente al prompt dei comandi.
regpkg /regfile:DeployPackage.reg /codebase DeployPackage.dll
Aprire il file risultante di DeployPackage.reg in Blocco Note.
DeployPackage.reg dovrebbe essere simile al seguente:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\InstalledProducts\DeployPackage]
@="#110"
"Package"="{bad3390c-b2a2-4bfc-a3ad-87e8119df413}"
"ProductDetails"="#112"
"PID"="1.0"
"LogoID"="#400"
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{bad3390c-b2a2-4bfc-a3ad-87e8119df413}]
@="Company.DeployPackage.DeployPackage, DeployPackage, Version=1.0.2796.21244, Culture=neutral, PublicKeyToken=125cdbd1e07e0d79"
"InprocServer32"="C:\\Windows\\system32\\mscoree.dll"
"Class"="Company.DeployPackage.DeployPackage"
"CodeBase"="D:\\DeployPackage\\DeployPackage\\bin\\Debug\\DeployPackage.dll"
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Menus]
"{bad3390c-b2a2-4bfc-a3ad-87e8119df413}"=", 1000, 1"
La chiave di codebase viene generata quando regpkg.exe viene eseguito con l'opzione /codebase, come illustrato di seguito.
"CodeBase"="D:\\DeployPackage\\DeployPackage\\bin\\Debug\\DeployPackage.dllL"
Per implementare il package VS a un computer di destinazione, è necessario effettuare le attività seguenti:
aggiornare il percorso di codebase.
Copiare i file di package VS i file .dll e REG nel computer di destinazione.
Aggiornare il Registro di sistema sul computer di destinazione.
Inizializzare il menu di sistema di Visual Studio nel computer di destinazione.
Per la distribuzione nel computer di destinazione tramite xcopy
Modificare il percorso del codice presenti in DeployPackage.reg il percorso in cui DeployPackage.dll verrà installato nel computer di destinazione. Ad esempio, se si installa DeployPackage.dll nella directory radice dell'unità D, la chiave e il valore del codice dovrebbe risultare simile al seguente:
"CodeBase"="D:\\DeployPackage.dll"
Assicurarsi che il percorso InprocServer32 rappresenta la posizione di mscoree.dll nel computer di destinazione. Ad esempio, se il sistema operativo installato in unità D, la chiave InprocServer32 e il valore dovrebbe risultare simile al seguente:
"InprocServer32"="D:\\Windows\\system32\\mscoree.dll"
Salvare le modifiche a DeployPackage.reg e copiare sia DeployPackage.reg che DeployPackage.dll nel computer di destinazione. Assicurarsi di copiare DeployPackage.dll al percorso specificato nella chiave di codebase.
Eseguire la finestra di commando di Visual Studionel computer di destinazione come amministratore.
Al prompt dei comandi, passare alla quale è stato installato DeployPackage.dll e si digita le due righe:
regedit /s deploypackage.reg
devenv /setup /nosetupvstemplates
La prima riga installa le varie chiavi e valori nel Registro di sistema. La seconda riga inizializza Visual Studio e il relativo menu di sistema sul computer di destinazione.
Nota
Poiché non si aggiunge il progetto o i modelli di elemento, è possibile utilizzare l'opzione /nosetupvstemplates per ridurre il tempo di impostazione.
Avviare Visual Studio nel computer di destinazione.
Scegliere dal menu di strumenti , fare clic su Un comando di distribuzione. Verrà visualizzata una finestra di messaggio che contiene il messaggio seguente:
Company.DeployPackage.DeployPackage.MenuItemCallback() interno
A questo punto il processo di aggiornamento è terminato. È stata correttamente implementato il package VS!
Codebase e distribuzione assembly
Per utilizzare la distribuzione di codebase, si installa il pacchetto VS nella cartella fornita dalla chiave di codebase. Questa cartella viene in genere denominata dopo una società o una tecnologia, ad esempio, D: \MyCompany.
La distribuzione di assembly è un'altra modalità di implementazione del package VS. Utilizzando la distribuzione dell'assembly, si installa il pacchetto VS nella cartella o la sottocartella di Visual StudioPrivateAssemblies.
In genere scegliereste la distribuzione di codebase quando il package VS viene principalmente utilizzato da per proprietari del prodotto e non è noto agli altri prodotti. Scegliereste la distribuzione dell'assembly quando il package VS deve essere condiviso da altri prodotti. Ad esempio, un correttore ortografico probabilmente assegnato alla cartella di PrivateAssemblies.
Nota
L'incompatibilità del nome file dell'assembly sono possibili nella cartella di PrivateAssemblies.
Poiché ogni versione di Visual Studio dispone della propria cartella di PrivateAssemblies, è possibile utilizzare la distribuzione dell'assembly un package VS che è progettato per gli scenari affiancati. Se si dispone di un package VS che è progettato per l'esecuzione con diverse versioni di Visual Studio, è consigliabile installarlo nella global assembly cache.
Nota
Per motivi di prestazioni, non gli assembly con nome sicuro del segno di inserimento nella cartella di PrivateAssemblies, o in qualsiasi punto diverso dalla global assembly cache.
Distribuzione tramite Xcopy utilizzando PrivateAssemblies
La distribuzione di assembly di un VSPackage alla cartella di PrivateAssemblies utilizza una registrazione diversa del sistema che la distribuzione di codebase. È possibile utilizzare l'utilità di regpkg.exe per creare chiavi, le sottochiavi e i valori necessari per la distribuzione dell'assembly.
Per generare il file del Registro di sistema
Nella finestra di commando di Modelli SDM (system definition model), passare alla cartella che contiene DeployPackage.dll. Questa operazione viene in genere si trova in \bin\Debug \ directory del progetto.
Digitare la riga seguente al prompt dei comandi:
regpkg /regfile: DeployPackage.reg /assembly DeployPackage.dll
Aprire il file risultante di DeployPackage.reg in Blocco Note.
La chiave di codebase viene sostituita con la chiave assembly, come segue:
"Assembly"="DeployPackage, Version=1.0.2796.21244, Culture=neutral, PublicKeyToken=125cdbd1e07e0d79"
Per implementare il package VS a un computer di destinazione, è necessario copiare i file di package VS DLL nella cartella di PrivateAssemblies del computer di destinazione. È inoltre necessario copiare i file con estensione reg al computer di destinazione, aggiornare il Registro di sistema sul computer di destinazione e inizializzare il menu di sistema di Visual Studio nel computer di destinazione.
Per implementare la cartella di PrivateAssemblies
Assicurarsi che il percorso InprocServer32 rappresenta la posizione di mscoree.dll nel computer di destinazione. Ad esempio, se il sistema operativo installato in unità D, la chiave InprocServer32 e il valore dovrebbe risultare simile al seguente:
"InprocServer32"="D:\\Windows\\system32\\mscoree.dll"
Se è già stato installato il package VS utilizzando la codebase, eliminare la cartella e il relativo contenuto.
Copiare DeployPackage.reg e DeployPackage.dll alla cartella di PrivateAssemblies nel computer di destinazione. La posizione tipica della cartella è percorso di installazione di Visual Studio\Common7\IDE\PrivateAssemblies \.
Nota
Le credenziali amministrative possono essere necessarie copiare a questa cartella.
Eseguire la finestra di commando di Visual Studionel computer di destinazione come amministratore.
Al prompt dei comandi, passare alla cartella di PrivateAssemblies e digitare le due righe:
regedit deploypackage.reg
devenv /setup
La prima riga installa le varie chiavi e valori nel Registro di sistema. La seconda riga inizializza Visual Studio e il relativo menu di sistema sul computer di destinazione.
Deploypackage.reg non è più richiesto. È possibile eliminarlo.
Avviare Visual Studio nel computer di destinazione.
Scegliere dal menu di strumenti , fare clic su Un comando di distribuzione. Verrà visualizzata una finestra di messaggio che contiene il messaggio seguente:
Company.DeployPackage.DeployPackage.MenuItemCallback() interno
A questo punto il processo di aggiornamento è terminato. È stato distribuito il pacchetto VS alla cartella di PrivateAssemblies!
Distribuzione utilizzando un progetto di installazione
Un approccio più semplice per distribuire un pacchetto VS è di utilizzare un progetto di installazione di Visual Studio . File di Windows Installer prodotti di progetti di installazione (con estensione msi), che gestiscono molte attività di distribuzione di, ad esempio:
Assicurarsi che i prerequisiti siano soddisfatti, come installare Common Language Runtime (CLR) sul computer di destinazione.
Creazione di un'interfaccia utente per abilitare la selezione della cartella di destinazione per l'installazione.
Istruzioni di compilazione personalizzate in esecuzione, ad esempio l'unione dei menu.
Per ulteriori informazioni, vedere Setup Projects.
Le seguenti informazioni del Registro di sistema delle importazioni della routine progetto di installazione da un file con estensione reg creato per la distribuzione di codebase. Se non è già stato creato questo file, completare la procedura riportata di seguito per primo.
Per generare il file del Registro di sistema
Nella finestra di commando di Modelli SDM (system definition model), passare alla cartella che contiene DeployPackage.dll. Questa operazione viene in genere si trova nel progetto \bin\Debug \.
Digitare la riga seguente al prompt dei comandi:
regpkg /regfile: DeployPackage.reg /codebase DeployPackage.dll
È ora possibile creare e configurare il progetto di installazione.
Per creare e configurare il progetto di installazione
Aprire la soluzione di DeployPackage in Visual Studio nel computer di sviluppo.
Fare clic con il pulsante destro del mouse sul nodo della soluzione, scegliere aggiungerequindi fare clic su nuovo progetto.
Espandere altri tipi di progetto quindi selezionare installazione e distribuzione.
creare progetto di installazione denominato installazione.
Il modello aggiungere il progetto di installazione alla soluzione.
Fare clic con il pulsante destro del mouse sul nodo del progetto di installazione, fare clic aggiungerequindi fare clic su Output del progetto.
Scegliere OK per aggiungere Output primario del progetto DeployPackage.
Il verificatore di dipendenza esegue e aggiunge le dipendenze al progetto di installazione. La maggior parte di queste dipendenze che fanno riferimento ai file binari già presenti nel computer di destinazione con Visual Studio è installato.
Selezionare tutte le dipendenze rilevate ad eccezione di Microsoft .NET Framework, fare clic con il pulsante destro del mouse sulla selezione e scegliere escludere.
Fare clic sul nodo del progetto di installazione.
Le proprietà del progetto vengono visualizzati nella Finestra Proprietà.
Modificare la proprietà ProductName a un pacchetto di distribuzione.
Modificare la proprietà del titolo all'installazione del pacchetto di distribuzione.
Fare clic sull'icona dell'editor del Registro di sistema nella barra degli strumenti di Esplora soluzioni .
L'editor del Registro di sistema viene visualizzato.
Fare clic con il pulsante destro del mouse su Registro di sistema sul computer di destinazione quindi fare clic su importazione.
La finestra di dialogo di Importare il Registro Di Sistema viene visualizzato.
Passare a \bin\Debug\ folder of the DeployPackage project and select DeployPackage REG. Fare clic su Apri.
Le chiavi del Registro di sistema generati per la distribuzione di codebase vengono aggiunti al nodo HKEY_LOCAL_MACHINE nell'editor del Registro di sistema.
Se si esaminano le chiavi del Registro di sistema in \Software\Microsoft\VisualStudio\9.0\Packages \ nodo, vengono rilevate due percorsi hardcoded. Questi devono essere sostituiti da percorsi che vengono determinati durante l'installazione.
Per rimuovere i percorsi hardcoded
Nell'editor del Registro di sistema, selezionare la chiave di codebase, quindi selezionare la proprietà Value nella finestra di Proprietà .
Modificare il percorso per essere relativo alla directory di installazione di destinazione, come segue:
[TARGETDIR]deploypackage.dll
Nell'editor del Registro di sistema, selezionare la chiave InProcServer32 quindi selezionare la proprietà Value nella Finestra Proprietà.
Modificare il percorso per essere relativo alla directory di sistema di destinazione, come segue:
[SystemFolder]mscoree.dll
Dopo avere installato nel computer di destinazione, è necessario eseguire devenv.exe con l'opzione /setup. È possibile aggiungere l'agente all'installazione come azione personalizzata. Per creare un'azione personalizzata, è innanzitutto necessario aggiungere un progetto creare una classe che deriva dalla classe di Installer .
Per aggiungere un progetto di una classe installer
Scegliere Nuovo dal menu File, quindi scegliere Progetto.
Verrà visualizzata la finestra di dialogo Nuovo progetto.
creare Visual c# o libreria di classi di Visual Basic denominato DevenvSetupCustomAction.
Eliminare il file Class1.vb o Class1.cs.
Fare clic con il pulsante destro del mouse sul nodo del progetto di DevenvSetupCustomAction, fare clic aggiungerequindi fare clic su nuovo elemento.
Creare un nuovo Classe installer denominato DevenvSetup.
Fare clic con il pulsante destro del mouse sul nodo di DevencSetup.vb o di DevenvSetup.cs quindi fare clic su Visualizza codice.
Aggiungere le seguenti righe alle istruzioni di Imports o di using :
Eseguire l'override del metodo per installare aggiungendo il codice seguente alla classe di DevenvSetup, subito dopo il costruttore:
Questo codice cerca il Registro di sistema sul computer di destinazione il EnvironmentPath denominato valore di \Software\Microsoft\VisualStudio\9.0\Setup\VS \ chiave. Il valore di EnvironmentPath è il percorso completo di devenv.exe. Viene eseguito devenv.exe di metodo per installare con l'opzione e attende di /setup da completare.
Nota
Se non si installa il progetto o i modelli di elemento, è possibile ridurre notevolmente la fase di installazione aggiungendo l'opzione /nosetupvstemplates, come segue:
Dopo aver un'azione personalizzata, è possibile aggiungerlo al progetto di installazione.
Per aggiungere un'azione personalizzata al progetto di installazione
Fare clic con il pulsante destro del mouse sul nodo del progetto di installazione, fare clic aggiungerequindi fare clic su Output del progetto.
Verrà visualizzata la finestra di dialogo Aggiungi gruppo output progetto.
DevenvSetupCustomAction selezionato nell'elenco di Progetto .
output primario da DevenvSetupCustomAction (attivo) viene aggiunto al nodo rilevato dipendenze.
Selezionare il nodo del progetto di installazione e fare clic sull'icona di Editor delle azioni personalizzate sulla barra degli strumenti di Esplora soluzioni .
Verrà visualizzato l'editor Azioni personalizzate.
Fare clic con il pulsante destro del mouse sul nodo installa quindi fare clic su Per aggiungere l'azione personalizzata.
Verrà visualizzata la finestra di dialogo Seleziona elemento nel progetto.
Fare doppio clic sul pulsante per aprire la finestra del codice. Scegliere OK.
L'azione personalizzata viene aggiunta al nodo installa.
Per testare il progetto di installazione
Compilare la soluzione di DeployPackage.
DeployPackage.dll e DevenvSetupCustomAction.dll vengono creati.
Compilare il progetto di installazione.
Setup.exe e Setup.msi vengono creati.
Chiudere Visual Studio.
Copia setup.exe nel computer di destinazione. È possibile eseguire setup.exe nel computer di sviluppo in assenza di un computer di destinazione disponibile.
Nota
Nel computer deve essere Visual Studio è installato.La versione di Visual Studio deve corrispondere alla chiave del Registro di sistema utilizzata dall'azione personalizzata.
Eseguire setup.exe nel computer di destinazione.
Nota
Devenv in esecuzione /setup potrebbe richiedere del tempo.È possibile utilizzare lo stato di avanzamento di utilizzare la Gestione attività.
Installare DeployPackage e accettare tutte le impostazioni predefinite.
Eseguire Visual Studio.
Scegliere dal menu di strumenti , fare clic su Un comando di distribuzione. Verrà visualizzata una finestra di messaggio che contiene il messaggio seguente:
Company.DeployPackage.DeployPackage.MenuItemCallback() interno
chiudere la finestra di messaggio e l'uscita Visual Studio.
In Pannello di controllo, in Windows Vista) in programmi e funzionalità selezionato (o Windows XP) in Installazione applicazioni.
Disinstallare un pacchetto di distribuzione.
Eseguire Visual Studio.
Verificare che Un comando di distribuzione non venga più visualizzato nel menu di strumenti .
Distribuzione utilizzando il set di strumenti Windows Installer XML
Un altro approccio per distribuire un pacchetto VS è di utilizzare il set di strumenti Windows Installer XML. I set di strumenti di compilazione dei file con estensione wxs per scrivere i file con estensione msi. Le azioni personalizzate, come unione dei menu, sono più facili da creare utilizzando i file con estensione wxs che utilizzano i progetti di installazione di Windows Installer.
Per ulteriori informazioni sul set di strumenti, vedere http://wix.sourceforge. rete.
È possibile utilizzare l'utilità di RegPkg per creare un file con estensione wxs per registrare un VSPackage nel Registro di sistema. Inserire questo file in un file più completo con estensione wxs che implementa il package VS e unisce i relativi menu in Visual Studio. Infine compilare il file con estensione wxs con gli strumenti di light.exe e di candle.exe per scrivere un file MSI per la distribuzione di un VSPackage.
Innanzitutto, creare un file esterno di DeployPackage.wxs e aggiungerlo al progetto DeployPackage.
Per creare il file di DeployPackage.wxs
In Esplora soluzioni, fare clic con il pulsante destro del mouse sul nodo del progetto di DeployPackage, fare clic aggiungere, quindi fare clic su nuovo elemento.
Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.
Selezionare il modello di elemento del file di testo, denominare il file DeployPackage.wxsquindi fare clic su aggiungere. Il file vuoto verrà visualizzato nell'editor.
Aggiungere le righe seguenti al file:
<?xml version='1.0' encoding='windows-1252'?>
<?define VisualStudioRegistryRoot = "Software\Microsoft\VisualStudio\9.0" ?>
<Wix xmlns='https://schemas.microsoft.com/wix/2003/01/wi'>
<Product Name='DeployPackage' Id='54748C47-DC70-43ec-A296-ECD7F30A548C'
Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='My Company'>
<Package Id='????????-????-????-????-????????????' Keywords='Installer'
Description="Deploy Package Installer"
Comments='Demonstrates VSPackage deployment' Manufacturer='My Company'
InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
<Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' />
<!-- Properties -->
<Property Id="DEVENV_EXE_PATH">
<RegistrySearch Id="RegSearch_DevenvExe_Path" Root="HKLM" Key="$(var.VisualStudioRegistryRoot)\Setup\VS" Name="EnvironmentPath" Type="raw" />
</Property>
<!-- Launch conditions -->
<Condition Message="An administrator must approve or install [ProductName]."> Privileged </Condition>
<Condition Message="[ProductName] requires Visual Studio 2010."> DEVENV_EXE_PATH </Condition>
<!-- Root directories -->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFILES">
<Directory Id="INSTALLDIR" Name="MyFolder" >
<Component Guid="7D6D266D-4197-439b-ADB4-D51876269055" Id="MainExecutable">
<File Id="Deploy.dll" Name="Deploy.dll" LongName="DeployPackage.dll" Source="bin\Debug\DeployPackage.dll" Vital="yes" DiskId="1" />
<?include DeployFragment.wxs ?>
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id='Complete' Level='1'>
<ComponentRef Id='MainExecutable' />
</Feature>
<InstallExecuteSequence>
<Custom Action="CA_DeployPackage" Before="InstallFinalize" />
</InstallExecuteSequence>
<CustomAction Id="CA_DeployPackage" Property="DEVENV_EXE_PATH" ExeCommand="/setup /nosetupvstemplates" Impersonate="no" Execute="deferred" />
</Product>
</Wix>
- Salvare le modifiche.
Il file esterno di DeployPackage.wxs fa riferimento a un file temporaneo denominato DeployFragment.wxs, generati da DeployPackage.dll.
Per generare il file di DeployFragment.wxs
Nella finestra di commando di Modelli SDM (system definition model), passare alla cartella che contiene DeployPackage.dll. Questa operazione viene in genere si trova nel progetto \bin\Debug \.
Digitare la riga seguente al prompt dei comandi:
regpkg /wixfile:.. \.. \DeployFragment.wxs /codebase DeployPackage.dll
RegPkg crea il file di DeployPackage.wxs nella cartella del progetto di DeployPackage.
In Visual Studio, fare clic con il pulsante destro del mouse sul nodo del progetto di DeployPackage, scegliere aggiungerequindi fare clic su elemento esistente.
Il bos della finestra di dialogo di aggiungere l'elemento esistente visualizzare.
Passare alla cartella del progetto di DeployPackage.
Impostare il filtro di file per visualizzare Tutti i file, selezionare il file di DeployFragment.wxs quindi fare clic su aggiungere.
Il file di DeployFragment.wxs verrà aggiunto al progetto DeployPackage.
aprire il file di DeployFragment.wxs per modificare.
Modificare il valore dell'elemento del Registro Di Sistema denominato CodeBase in modo che corrisponda all'attributo name dell'elemento del file di DeployPackage.wxs.
<Registry Name="CodeBase" Value="[#Deploy.dll]" Type="string" />
Salvare le modifiche.
Mentre un'illustrazione completa dell'elemento del file con estensione wxs esula dall'ambito di questa procedura dettagliata, di seguito sono riportati alcuni punti chiave per cominciare a.
Molti elementi del set di strumenti accettano un GUID come ID. Questi GUID devono essere sostituiti quando si crea un nuovo file con estensione wxs. I GUID racchiuso tra i tag di inclusione non devono essere sostituiti, perché appartengono al package VS.
L'elemento del file presenta un attributo name che utilizza un breve (DOS 8,3) nome formattato e viene utilizzato solo a scopo di identificazione. Effettivo VSPackage è fornito dal LongName e gli attributi di origine. Per convenzione, l'attributo di identificazione è lo stesso dell'attributo name.
L'attributo del nome dell'elemento del file di DeployPackage.wxs deve corrispondere al valore di DeployFragment.wxs il Registro Di Sistema CodeBase denominata elemento. Tenere presente che l'attributo del nome è un breve (DOS 8,3) nome file formattato.
L'elemento CustomAction specifica l'azione personalizzata. Il rappresentare ed esegue gli attributi è impostato in modo da Visual Studio disponga dei privilegi con privilegi elevati in Windows Vista mentre l'azione personalizzata venga eseguita. L'attributo di ExeCommand utilizza l'opzione /nosetupvstemplates per sfruttare il fatto che non si installa l'elemento o i modelli di progetto. Ciò semplifica riduce il tempo di installazione.
Ora che il file con estensione wxs è completa, è possibile compilarlo per creare il file di installazione MSI.
Per compilare il file di DeployPackage.wxs
Nella finestra di commando di Modelli SDM (system definition model), passare alla cartella del progetto di DeployPackage. questa cartella contiene il file DeployPackage.wxs.
Aggiungere il percorso completo del set di strumenti alla variabile del percorso dell'ambiente. Di seguito è riportato un esempio:
set Path=%Path%;C:\Program Files\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Tools\Toolset
Digitare la riga seguente al prompt dei comandi.
candle DeployPackage.wxs
Viene creato un file oggetto di DeployPackage.wixobj.
Digitare la riga seguente al prompt dei comandi.
light DeployPackage.wixobj
Viene creato un file oggetto di DeployPackage.msi.
Per testare il file di distribuzione MSI:
Installare il pacchetto VS nel computer di destinazione.
Verificare che il package VS esecuzione nel computer di destinazione.
Per disinstallare il package VS dal computer di destinazione.
Per testare il progetto di installazione
Copia DeployPackage.msi nel computer di destinazione. È possibile eseguirla nel computer di sviluppo in assenza di un computer di destinazione disponibile.
Nota
Nel computer deve essere Visual Studio è installato.La versione di Visual Studio deve corrispondere alla chiave del Registro di sistema utilizzata dalla condizione di avvio e dall'azione personalizzata.
Eseguire DeployPackage.msi nel computer di destinazione.
Nota
Nessuna procedura guidata.È possibile che light.exe aggiungere una procedura guidata utilizzando una raccolta del set di strumenti.Per ulteriori informazioni, vedere http://wix.sourceforge.rete.
Eseguire Visual Studio.
Scegliere dal menu di strumenti , fare clic su Un pacchetto di distribuzione. Verrà visualizzata una finestra di messaggio che contiene il messaggio seguente:
Company.DeployPackage.DeployPackage.MenuItemCallback() interno
chiudere la finestra di messaggio e chiudere Visual Studio.
In Pannello di controllo, in Windows Vista) in programmi e funzionalità selezionato (o Windows XP) in Installazione applicazioni.
disinstallare DeployPackage.
Eseguire Visual Studio.
Verificare che Un comando di distribuzione non venga più visualizzato nel menu di strumenti .