Domanda

devo il mio successo proof of concept MSI installer creazione di un file XML, e aggiornamento degli elementi come vorrei su una nuova installazione. Ho 6 funzioni, se la funzione è selezionata per essere installato Voglio un nodo creata per tale funzione e di un set di attributi in base a una proprietà.

Se modifico l'installazione e la rimozione di una caratteristica precedentemente installato, voglio che il nodo XML creati per poter persistere e desidero impostare l'I set di attributi su installa per essere aggiornato sulla base della stessa proprietà (che ora ha un valore diverso).

E 'possibile sfruttare le funzionalità esistenti di InstallShield per fare questo? Sembra che potevo, e evitare di scrivere un'azione personalizzata per aggiornare il mio xml durante la rimozione di una caratteristica. Non sembra essere molta documentazione sulle azioni isxmlcfg.dll e personalizzati in esso.

CA ISXmlUnInstall è in esecuzione quando rimuovo una caratteristica - ma sembra tutto che l'azione non fa altro che rimuovere il nodo o lasciare ...

È stato utile?

Soluzione

Il problema che si sta probabilmente verificato è il fatto che, anche se si è utilizzato la struttura in qualcosa (diciamo registery, ini o xml) di Windows Installer non nativamente persistono immobili a suo database. Devi fare la tua auto. Quindi, se si vuole fare una riparazione, il cambiamento, l'aggiornamento o qualsiasi altra cosa e si desidera avere che i dati di proprietà stessi, non solo è necessario salvarlo in qualcosa (ad esempio XML), ma bisogna anche avere un corrosponding AppSearch (XmlSearch) che può tirare indietro nella proprietà quindi ha un valore da visualizzare durante l'interfaccia utente e la scrittura o indietro per XML in seguito.

Considera anche sostenere un modello in cui si ottiene di leggere in una proprietà temp e assegnato alla proprietà reale solo se la proprietà reale non dispone già di un valore. In questo modo qualcuno potrebbe fare un'installazione invisibile all'utente (upgrade) e passare la proprietà come una sostituzione per ciò che è stato configurato in precedenza. (No clobbering dalla ricerca)

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