Domanda

C'era una situazione difficile è successo quando stavo lavorando con l'installazione per fornire il prodotto chiave di convalida.Ho dovuto usare C++ unmanaged code per convalidare la chiave.In realtà abbiamo avuto la logica principale di convalida scritto in C# e ho dovuto creare un progetto misto.Problema non si è fermato solo con questi, ha continuato.Dal momento che ho usato VC++ codice, è previsto che almeno il VC++ runtime redistributable per essere installata nel computer client.Ho pensato di far cadere il piano di migrare il nostro installazione di Wix a causa di questi tipi di problemi.

Ma sono venuto a sapere che c'è una bella e caratteristica molto interessante che DTF è disponibile in Wix per integrare qualsiasi tipo di azione in C#.L'ho usato e potrebbe integrare la chiave di convalida in un paio di ore e fino ad ora si sta lavorando bene in tutti i computer client che ho implementato prima di 6 mesi.

Hai qualche momento interessante o bella esperienza con DTF?

È stato utile?

Soluzione

Ho scritto diversi .NET CA per supportare installazioni basate nostro WiX:

  1. Wrapper gestito intorno Httpapi.dll - supporta la creazione di binding SSL IP / porto e HTTP URL ACL per l'impiego nella distribuzione di servizi WCF. Ho intenzione di trasformare questo in un estensione Wix. E 'stato molto interessante imparare a gestire correttamente rollback, ecc.

  2. SSL dialogo Selettore che visualizza tutti i certificati SSL sul sistema e permette di scegliere uno.

  3. finestra del browser SQL Server - consente di sfogliare la rete per SQL Server e quindi sfogliare SQL Server per database. Opzionalmente utilizza la rappresentazione. Questo è per la lavorazione di una stringa di connessione.

  4. Sono in procinto di scrivere una serie di CA che utilizzerà il montaggio Microsoft.Web.Administration di fare installazioni native di applicazioni web su IIS 7 (senza richiedere la funzionalità di IIS 6 Metabase Compatibilty essere installato).

Altri suggerimenti

Ricerca il mio blog http://blog.deploymentengineering.com per FDT e troverete un sacco di contenuti utili.Mi piace DTF ma credo comunque che la soluzione migliore è quella di evitare che CA ogni volta che è possibile, in primo luogo.C#, come VBScript prima, è così allettante: che tende a succhiare imperativo pensare gli sviluppatori in scrittura CAs quando non è necessaria.Credo che questo sia il motivo DTF non è stato rilasciato per così tanto tempo.

Al mio lavoro di giorno la mia approvazione è necessaria per chi crede, hanno bisogno di un CA.Io istruire gli sviluppatori su MSI di base in filosofia, come utilizzare DTF, come collegare un debugger e mettere in chiaro che sono sul gancio, se mai ha problemi.Il risultato è molto piccolo ma ben scritto CAs nella nostra linea di prodotti.

Prima di tutto, i C # / azioni personalizzate DTF sono ancora azioni personalizzate (nessuna magia qui :-)), così si dovrebbe seguire tutte le varie linee guida di CA che lavorano con questo tipo pure. Semplifica la maggior parte dei compiti MSI astraendo basso livello API dietro l'alto livello classi ben progettato. Inoltre, tenete a mente che è possibile utilizzare il codice gestito CA solo in caso ha NET installato il computer di destinazione (o installarlo come un prerequisito). Infine, la documentazione dtf.chm che viene distribuito insieme con WiX set di strumenti ha alcuni semplici esempi, ma auto-esplicativo.

Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top