2009-11-16 11 views
6

ciao sto provando a fare un setup msi per la mia applicazione con wix v3 Ho un problema su questa attività; Ho bisogno di un input dell'utente che verrà memorizzato nel file di configurazione della mia domanda (ad esempio ho bisogno di un dialogo per la stringa di connessione SQL e l'input dell'utente sarà scritto nel file dell'applicazione di configurazione.)wix finestra di dialogo personalizzata per la modifica della configurazione

ho cercato di google ma ho ottenuto niente ha funzionato

Qualsiasi aiuto è molto apprezzato.

risposta

5

Avrai bisogno di fare tre cose:

  1. Creare una proprietà personalizzata:

    <Wix> 
    <Product ...> 
        <Property Id="SQLSERVER" /> ... 
    </Product> 
    </Wix> 
    
  2. Aggiungere una finestra di dialogo personalizzata al tuo Wix interfaccia utente per catturare l'input dell'utente e memorizzarlo a una proprietà. Questo tutorial dovrebbe aiutarti in questo.

  3. Nel componente che installa il file web.config, utilizzare l'elemento XMLFILE per aggiornare il web.config con il valore della vostra proprietà:

    <util:XmlFile Id="UpdateConnectionStringInConfigSection" File="[ROOT_DRIVE]inetpub/wwwroot/$(var.ProductName)/web.config" Action="setValue" ElementPath="/configuration/connectionStrings/add[\[]@name=&quot;ConnectionString&quot;[\]]/@connectionString" Value="[SQLSERVER]" Permanent="yes" /> 
    
+0

dove viene venire a partire dal? Non viene visualizzato nel mio intelletto VS2010. – Andez

+2

Capito. Aggiungi riferimento a WixUtilExtension DLL e includi anche lo spazio dei nomi nell'XML Andez

+0

Se aiuta qualcun altro, per espandere il commento di Andez sopra, ho dovuto usare la seguente riga per definire lo spazio dei nomi (aggiungendo in http: // e rimuovendo il punto e virgola):' ' – bigmac