Procedura: creare il manifesto di un prodotto
Per distribuire i prerequisiti dell'applicazione è possibile creare un programma di avvio automatico.Tale programma contiene un unico file manifesto del prodotto e un manifesto di pacchetto per ogni set di impostazioni locali.Il manifesto di pacchetto contiene aspetti specifici della localizzazione del pacchetto,inclusi stringhe, contratti di licenza dell'utente finale e Language Pack.
Per ulteriori informazioni sui manifesti di prodotto, vedere Procedura: creare un manifesto di pacchetto.
Creazione del manifesto del prodotto
Per creare il manifesto del prodotto
Creare una directory per il programma di avvio automatico.In questo esempio viene utilizzato C:\package.
In Visual Studio creare un nuovo file XML denominato product.xml e salvarlo nella cartella C:\package.
Aggiungere il seguente codice XML per descrivere lo spazio dei nomi XML e il codice prodotto per il pacchetto.Sostituire il codice prodotto con un identificatore univoco per il pacchetto.
<Product xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Custom.Bootstrapper.Package">
Aggiungere codice XML per specificare che il pacchetto dispone di una dipendenza.In questo esempio viene utilizzata una dipendenza da Microsoft Windows Installer 3.1.
<RelatedProducts> <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" /> </RelatedProducts>
Aggiungere codice XML per elencare tutti i file contenuti nel programma di avvio automatico.In questo esempio viene utilizzato il nome file di pacchetto CorePackage.msi.
<PackageFiles> <PackageFile Name="CorePackage.msi"/> </PackageFiles>
Copiare o spostare il file CorePackage.msi nella cartella C:\package.
Aggiungere codice XML per installare il pacchetto tramite i comandi del programma di avvio automatico.Il programma di avvio automatico aggiungerà automaticamente il flag /qn al file MSI, il quale verrà installato senza alcun avviso.Se il file è un file con estensione exe, il programma di avvio automatico esegue tale file tramite la shell.Il codice XML seguente non contiene argomenti per CorePackage.msi, ma è possibile inserire l'argomento della riga di comando nell'attributo Arguments.
<Commands> <Command PackageFile="CorePackage.msi" Arguments="">
Aggiungere il seguente codice XML per verificare che il programma di avvio automatico sia installato.Sostituire il codice prodotto con il GUID per il componente ridistribuibile.
<InstallChecks> <MsiProductCheck Property="IsMsiInstalled" Product="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/> </InstallChecks>
Aggiungere codice XML per modificare il comportamento del programma di avvio automatico a seconda che il componente del programma sia già installato o meno.Se il componente è installato, il programma di avvio automatico non viene eseguito.Il seguente codice XML consente di controllare se l'utente corrente è un amministratore, poiché questo componente richiede privilegi amministrativi.
<InstallConditions> <BypassIf Property="IsMsiInstalled" Compare="ValueGreaterThan" Value="0"/> <FailIf Property="AdminUser" Compare="ValueNotEqualTo" Value="True" String="NotAnAdmin"/> </InstallConditions>
Aggiungere codice XML per impostare codici di uscita nel caso in cui l'installazione sia stata completata correttamente e sia necessario un riavvio.Nel seguente codice XML sono illustrati i codici di uscita Fail e FailReboot, i quali indicano che il programma di avvio automatico non continuerà a installare pacchetti.
<ExitCodes> <ExitCode Value="0" Result="Success"/> <ExitCode Value="1641" Result="SuccessReboot"/> <ExitCode Value="3010" Result="SuccessReboot"/> <DefaultExitCode Result="Fail" String="GeneralFailure"/> </ExitCodes>
Aggiungere il seguente codice XML per terminare la sezione per i comandi del programma di avvio automatico.
</Command> </Commands>
Spostare la cartella C:\package nella directory del programma di avvio automatico di Visual Studio.Nel caso di Visual Studio 2010, la directory è \Programmi\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.
Esempio
Il manifesto del prodotto contiene le istruzioni di installazione per i prerequisiti personalizzati.
<?xml version="1.0" encoding="utf-8" ?>
<Product
xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="Custom.Bootstrapper.Package">
<RelatedProducts>
<DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
</RelatedProducts>
<PackageFiles>
<PackageFile Name="CorePackage.msi"/>
</PackageFiles>
<InstallChecks>
<MsiProductCheck Product="IsMsiInstalled"
Property="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
</InstallChecks>
<Commands>
<Command PackageFile="CorePackage.msi" Arguments="">
<InstallConditions>
<BypassIf Property="IsMsiInstalled"
Compare="ValueGreaterThan" Value="0"/>
<FailIf Property="AdminUser"
Compare="ValueNotEqualTo" Value="True"
String="NotAnAdmin"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="GeneralFailure"/>
</ExitCodes>
</Command>
</Commands>
</Product>