Condividi tramite


Creare il manifesto di un prodotto

Per distribuire i prerequisiti per l'applicazione, è possibile creare un pacchetto del programma di avvio automatico. Un pacchetto del programma di avvio automatico contiene un singolo file manifesto del prodotto, ma un manifesto del pacchetto per ogni impostazione locale. Il manifesto del pacchetto contiene aspetti specifici della localizzazione del pacchetto. Sono incluse stringhe, contratti di licenza per l'utente finale e Language Pack.

Per altre informazioni sui manifesti dei pacchetti, vedere Procedura: Creare un manifesto del pacchetto.

Creare il manifesto del prodotto

Per creare il manifesto del prodotto

  1. Creare una directory per il pacchetto del programma di avvio automatico. Questo esempio viene usato c:\package.

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

  3. Aggiungere il codice XML seguente 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="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
    ProductCode="Custom.Bootstrapper.Package">
    
  4. Aggiungere codice XML per specificare che il pacchetto ha una dipendenza. Questo esempio usa una dipendenza da Microsoft Windows Installer 3.1.

    <RelatedProducts>
        <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
      </RelatedProducts>
    
  5. Aggiungere XML per elencare tutti i file presenti nel pacchetto del programma di avvio automatico. In questo esempio viene usato il nome del file del pacchetto CorePackage.msi.

    <PackageFiles>
        <PackageFile Name="CorePackage.msi"/>
    </PackageFiles>
    
  6. Copiare o spostare il file CorePackage.msi nella cartella C:\package .

  7. Aggiungere XML per installare il pacchetto usando i comandi del programma di avvio automatico. Il programma di avvio automatico aggiunge il flag /qn al file con estensione msi , che verrà installato automaticamente. Se il file è un file con estensione exe, il programma di avvio automatico esegue il file exe usando la shell. Il codice XML seguente non mostra 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 codice XML seguente per verificare se il pacchetto del programma di avvio automatico è 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 di avvio automatico sia già installato. Se il componente è installato, il pacchetto del programma di avvio automatico non viene eseguito. Il codice XML seguente controlla se l'utente corrente è un amministratore perché 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 i codici di uscita se l'installazione ha esito positivo e, se è necessario un riavvio. Il codice XML seguente illustra i codici di uscita Fail e FailReboot, che indicano che il programma di avvio automatico non continuerà a installare i 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 codice XML seguente 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. Per le versioni precedenti di Visual Studio, si tratta della directory \Programmi\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages .

Esempio

Il manifesto del prodotto contiene istruzioni di installazione per i prerequisiti personalizzati.

<?xml version="1.0" encoding="utf-8" ?>
<Product
  xmlns="http://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 Property="IsMsiInstalled"
      Product="{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>