Condividi tramite


Procedura dettagliata: Creare un programma di avvio automatico personalizzato con un prompt di privacy

È possibile configurare le applicazioni ClickOnce per l'aggiornamento automatico quando gli assembly con versioni di file più recenti e le versioni degli assembly diventano disponibili. Per assicurarsi che i clienti accettino questo comportamento, è possibile visualizzare una richiesta di privacy. Possono quindi scegliere se concedere l'autorizzazione all'applicazione per l'aggiornamento automatico. Se l'applicazione non è consentita per l'aggiornamento automatico, non viene installata.

Nota

I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio in questo articolo potrebbero essere diversi nel computer in uso. È possibile usare un'edizione diversa di Visual Studio o impostazioni di ambiente diverse. Per altre informazioni, vedere Personalizzare l'IDE.

Per visualizzare una richiesta di privacy, creare un'applicazione che chiede al lettore di fornire il consenso agli aggiornamenti automatici per l'applicazione.

  1. Scegliere Nuovo dal menu Filee quindi fare clic su Progetto.

  2. Nella finestra di dialogo Nuovo progetto fare clic su Windows e quindi su WindowsFormsApplication.

  3. In Nome digitare ConsentDialog e quindi fare clic su OK.

  4. Nella finestra di progettazione fare clic sul modulo.

  5. Nella finestra Proprietà modificare la proprietà Text in Update Consent Dialog .In the Properties window, change the Text property to Update Consent Dialog.

  6. Nella casella degli strumenti espandere Tutti i Windows Form e trascinare un controllo Etichetta nel form.

  7. Nella finestra di progettazione fare clic sul controllo etichetta.

  8. Nella finestra Proprietà modificare la proprietà Text in Aspetto come segue:

    L'applicazione che si sta per installare verifica la disponibilità degli aggiornamenti più recenti sul Web. Facendo clic su "Accetto", si autorizza l'applicazione a verificare e installare automaticamente gli aggiornamenti da Internet.

  9. Nella casella degli strumenti trascinare un controllo Casella di controllo al centro del form.

  10. Nella finestra Proprietà modificare la proprietà Testo in Layout in Accetto.

  11. Nella casella degli strumenti trascinare un controllo Pulsante in basso a sinistra del modulo.

  12. Nella finestra Proprietà modificare la proprietà Text in Layout in Continua.

  13. Nella finestra Proprietà modificare la proprietà (Nome) in Progettazione in ProceedButton.

  14. Nella casella degli strumenti trascinare un controllo Pulsante in basso a destra del modulo.

  15. Nella finestra Proprietà modificare la proprietà Text in Layout in Annulla.

  16. Nella finestra Proprietà modificare la proprietà (Nome) in Progettazione in CancelButton.

  17. Nella finestra di progettazione fare doppio clic sulla casella di controllo Accetto per generare il gestore eventi CheckedChanged.

  18. Nel file di codice Form1 aggiungere il codice seguente per il gestore eventi CheckedChanged.

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        ProceedButton.Enabled = !ProceedButton.Enabled;
    }
    
  19. Aggiornare il costruttore della classe per disabilitare il pulsante Continua per impostazione predefinita.

    public Form1()
    {
        InitializeComponent();
        ProceedButton.Enabled = false;
    }
    
  20. Nel file di codice Form1 aggiungere il codice seguente per una variabile booleana per tenere traccia se l'utente finale ha acconsentito agli aggiornamenti online.

    public bool accepted = false;
    
  21. Nella finestra di progettazione fare doppio clic sul pulsante Continua per generare il gestore eventi Click.

  22. Nel file di codice Form1 aggiungere il codice seguente al gestore eventi Click per il pulsante Continua .

    private void ProceedButton_Click(object sender, EventArgs e)
    {
        if (ProceedButton.Enabled)
        {
            accepted = true;
            this.Close();
        }
    }
    
  23. Nella finestra di progettazione fare doppio clic sul pulsante Annulla per generare il gestore eventi Click.

  24. Nel file di codice Form1 aggiungere il codice seguente per il gestore eventi Click per il pulsante Annulla .

    private void CancelButton_Click(object sender, EventArgs e)
    {
        this.Close();
    }
    
  25. Aggiornare l'applicazione per restituire un errore se l'utente finale non acconsente agli aggiornamenti online.

    Solo per gli sviluppatori di Visual Basic:

    1. In Esplora soluzioni fare clic su ConsentDialog.

    2. Scegliere Aggiungi modulo dal menu Progetto e quindi fare clic su Aggiungi.

    3. Nel file di codice Module1.vb aggiungere il codice seguente.

      Module Module1
      
          Function Main() As Integer
              Application.EnableVisualStyles()
              Application.SetCompatibleTextRenderingDefault(False)
              Dim f As New Form1()
              Application.Run(f)
              If (Not f.accepted) Then
                  Return -1
              Else
                  Return 0
              End If
          End Function
      
      End Module
      
    4. Scegliere ConsentDialog Properties dal menu Progetto e quindi fare clic sulla scheda Applicazione.

    5. Deselezionare Abilita framework applicazione.

    6. Nel menu a discesa Oggetto di avvio selezionare Module1.

      Nota

      La disabilitazione del framework applicazione disabilita funzionalità quali stili di visualizzazione, eventi dell'applicazione, schermata iniziale, applicazione a istanza singola e altro ancora. Per altre informazioni, vedere Pagina Applicazione, Creazione progetti (Visual Basic).

      Solo per gli sviluppatori Visual C#:

      Aprire il file di codice Program.cs e aggiungere il codice seguente.

      static int Main()
      {
          Application.EnableVisualStyles();
          Application.SetCompatibleTextRenderingDefault(false);
          Form1 f = new Form1();
          Application.Run(f);
          if (!f.accepted)
              return -1;
          else
              return 0;
      }
      
  26. Scegliere BuildSolution dal menu Compila.

Creare il pacchetto del programma di avvio automatico personalizzato

Per visualizzare la richiesta di privacy agli utenti finali, è possibile creare un pacchetto di bootstrap personalizzato per l'applicazione Update Consent Dialog e includerlo come prerequisito in tutte le applicazioni ClickOnce.

Questa procedura illustra come creare un pacchetto del programma di avvio automatico personalizzato creando i documenti seguenti:

  • File manifesto product.xml per descrivere il contenuto del programma di avvio automatico.

  • Un file manifesto package.xml per elencare gli aspetti specifici della localizzazione del pacchetto, ad esempio stringhe e condizioni di licenza software.

  • Documento per le condizioni di licenza software.

Passaggio 1: Per creare la directory del programma di avvio automatico

  1. Creare una directory denominata UpdateConsentDialog in %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.

    Nota

    Potrebbe essere necessario disporre di privilegi amministrativi per creare questa cartella.

  2. Nella directory UpdateConsentDialog creare una sottodirectory denominata en.

    Nota

    Creare una nuova directory per ogni impostazione locale. Ad esempio, è possibile aggiungere sottodirectory per le impostazioni locali fr e de. Queste directory contengono le stringhe francesi e tedesche e i Language Pack, se necessario.

Passaggio 2: Per creare il file manifesto product.xml

  1. Creare un file di testo denominato product.xml.

  2. Nel file product.xml aggiungere il codice XML seguente. Assicurarsi di non sovrascrivere il codice XML esistente.

    <Product
      xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
      ProductCode="Microsoft.Sample.EULA">
      <!-- Defines the list of files to be copied on build. -->
      <PackageFiles CopyAllPackageFiles="false">
        <PackageFile Name="ConsentDialog.exe"/>
      </PackageFiles>
    
      <!-- Defines how to run the Setup package.-->
      <Commands >
        <Command PackageFile = "ConsentDialog.exe" Arguments=''>
          <ExitCodes>
            <ExitCode Value="0" Result="Success" />
            <ExitCode Value="-1" Result="Fail" String="AU_Unaccepted" />
            <DefaultExitCode Result="Fail"
              FormatMessageFromSystem="true" String="GeneralFailure" />
          </ExitCodes>
        </Command>
      </Commands>
    
    </Product>
    
  3. Salvare il file nella directory del programma di avvio automatico UpdateConsentDialog.

Passaggio 3: Per creare il file manifesto package.xml e le condizioni di licenza software

  1. Creare un file di testo denominato package.xml.

  2. Nel file package.xml aggiungere il codice XML seguente per definire le impostazioni locali e includere le condizioni di licenza software. Assicurarsi di non sovrascrivere il codice XML esistente.

    <Package
      xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
      Name="DisplayName"
      Culture="Culture"
      LicenseAgreement="eula.rtf">
      <PackageFiles>
        <PackageFile Name="eula.rtf"/>
      </PackageFiles>
    
      <!-- Defines a localizable string table for error messages. -->
      <Strings>
        <String Name="DisplayName">Update Consent Dialog</String>
        <String Name="Culture">en</String>
        <String Name="AU_Unaccepted">The automatic update agreement is not accepted.</String>
        <String Name="GeneralFailure">A failure occurred attempting to launch the setup.</String>
      </Strings>
    </Package>
    
  3. Salvare il file nella sottodirectory en nella directory del programma di avvio automatico UpdateConsentDialog.

  4. Creare un documento denominato eula.rtf per le condizioni di licenza software.

    Nota

    Le condizioni di licenza software devono includere informazioni sulle licenze, le garanzie, le responsabilità e le leggi locali. Questi file devono essere specifici delle impostazioni locali, quindi assicurarsi che il file venga salvato in un formato che supporti i caratteri MBCS o UNICODE. Consultare il reparto legale sul contenuto delle condizioni di licenza software.

  5. Salvare il documento nella sottodirectory en nella directory del programma di avvio automatico UpdateConsentDialog .

  6. Se necessario, creare un nuovo file manifesto package.xml e un nuovo documento eula.rtf per le condizioni di licenza software per ogni impostazione locale. Ad esempio, se sono state create sottodirectory per le impostazioni locali fr e de, creare file manifesto separati package.xml e condizioni di licenza software e salvarle nelle sottodirectory fr e dedirectory.

In Visual Studio è possibile impostare l'applicazione Aggiorna consenso come prerequisito.

  1. In Esplora soluzioni fare clic sul nome dell'applicazione da distribuire.

  2. Scegliere Proprietà NomeProgetto dal menu Progetto.

  3. Fare clic sulla pagina Pubblica e quindi su Prerequisiti.

  4. Selezionare Aggiorna consenso finestra di dialogo.

    Nota

    Potrebbe essere necessario chiudere e riaprire Visual Studio per visualizzare la finestra di dialogo Aggiorna consenso nella finestra di dialogo Prerequisiti.

  5. Fare clic su OK.

Creare e testare il programma di installazione

Dopo aver impostato l'applicazione Aggiorna consenso come prerequisito, è possibile generare il programma di installazione e il programma di avvio automatico per l'applicazione.

Per creare e testare il programma di installazione, non facendo clic su Accetto

  1. In Esplora soluzioni fare clic sul nome dell'applicazione da distribuire.

  2. Scegliere Proprietà NomeProgetto dal menu Progetto.

  3. Fare clic sulla pagina Pubblica e quindi su Pubblica adesso.

  4. Se l'output di pubblicazione non viene aperto automaticamente, passare all'output di pubblicazione.

  5. Eseguire il programma Setup.exe .

    Il programma di installazione mostra il contratto di licenza software Update Consent Dialog.

  6. Leggere il contratto di licenza software e quindi fare clic su Accetta.

    Viene visualizzata l'applicazione Aggiorna consenso e viene visualizzato il testo seguente: L'applicazione che si sta per installare verifica la disponibilità degli aggiornamenti più recenti sul Web. Facendo clic su Accetto, si autorizza l'applicazione a verificare la disponibilità automatica degli aggiornamenti su Internet.

  7. Chiudere l'applicazione o fare clic su Annulla.

    L'applicazione mostra un errore: si è verificato un errore durante l'installazione dei componenti di sistema per ApplicationName. Il programma di installazione non può continuare fino a quando tutti i componenti di sistema non sono stati installati correttamente.

  8. Fare clic su Dettagli per visualizzare il messaggio di errore seguente: La finestra di dialogo di consenso aggiornamento componente non è riuscita a eseguire l'installazione con il messaggio di errore seguente: "Il contratto di aggiornamento automatico non è accettato". Impossibile installare i componenti seguenti: - Finestra di dialogo di consenso per l'aggiornamento

  9. Fare clic su Close.

Per creare e testare il programma di installazione facendo clic su Accetto

  1. In Esplora soluzioni fare clic sul nome dell'applicazione da distribuire.

  2. Scegliere Proprietà NomeProgetto dal menu Progetto.

  3. Fare clic sulla pagina Pubblica e quindi su Pubblica adesso.

  4. Se l'output di pubblicazione non viene aperto automaticamente, passare all'output di pubblicazione.

  5. Eseguire il programma Setup.exe .

    Il programma di installazione mostra il contratto di licenza software Update Consent Dialog.

  6. Leggere il contratto di licenza software e quindi fare clic su Accetta.

    Viene visualizzata l'applicazione Aggiorna consenso e viene visualizzato il testo seguente: L'applicazione che si sta per installare verifica la disponibilità degli aggiornamenti più recenti sul Web. Facendo clic su Accetto, si autorizza l'applicazione a verificare la disponibilità automatica degli aggiornamenti su Internet.

  7. Fare clic su Accetto, quindi su Continua.

    L'applicazione inizia a eseguire l'installazione.

  8. Se viene visualizzata la finestra di dialogo Installazione applicazione, fare clic su Installa.