Condividi tramite


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

  1. Creare una directory per il programma di avvio automatico. In questo esempio viene utilizzato C:\package.

  2. In Visual Studio creare un nuovo file XML denominato product.xml e salvarlo nella cartella C:\package.

  3. 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">
    
  4. 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>
    
  5. 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>
    
  6. Copiare o spostare il file CorePackage.msi nella cartella C:\package.

  7. 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="">
    
  8. 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>
    
  9. 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>
    
  10. 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>
    
  11. Aggiungere il seguente codice XML per terminare la sezione per i comandi del programma di avvio automatico.

            </Command>
        </Commands>
    
  12. 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>

Vedere anche

Riferimenti

Riferimenti dello schema di prodotti e package