2009-10-28 10 views

risposta

6

Un MSI è fondamentalmente un database. Puoi usare Orca per aprirlo e visualizzare/modificare le impostazioni.

  • Informazioni su Orca sono disponibili here.
  • Una panoramica dettagliata su come utilizzare per l'Orca è here.
  • Un po 'pertinente alla domanda , è possibile modificare quali utenti installerà il programma di installazione in modalità silenziosa . Le informazioni sono here.

Spero che questo ti abbia almeno orientato nella giusta direzione.

Edit:

Per esempio, scaricare il programma di installazione per WiX 3.0 e aprirlo in Orca.

  1. Passare alla tabella delle proprietà e verrà visualizzato un elenco di proprietà pubbliche (maiuscole) e private.
  2. Si noti che la proprietà WIXUI_INSTALLDIR è impostata su APPLICATIONFOLDER.
  3. Vai alla tabella Directory, vedrai che è impostato per avere un valore predefinito "vqee3ld3|Windows Installer XML v3" o qualcosa di simile.
  4. Per trovare quale finestra di dialogo imposta questa proprietà, andare alla tabella ControlEvent. Qui, vedrai che InstallDirDlg attiva l'evento SetTargetPath quando l'utente fa clic sul controllo Avanti. L'argomento questo evento imposta è WIXUI_INSTALLDIR, che a sua volta definisce APPLICATIONFOLDER

Si potrebbe provare a modificare queste proprietà e in esecuzione il programma di installazione per vedere come le proprietà vengono modificate. Se hai le proprietà predefinite che desideri impostare puoi eseguire. Per esempio, vicino Orca per rilasciare il blocco sul file msi ed eseguire:

msiexec /i Wix3.msi APPLICATIONFOLDER="C:\Program Files\WiX" /qn 

Maggiori info su strutture delle tabelle MSI in this powerpoint

+1

Sono a conoscenza di Orca .. e so che le finestre di dialogo impostano fondamentalmente i valori per le proprietà. Tuttavia ... c'è un modo per scoprire quali proprietà vengono modificate da ciascuna finestra di dialogo? Questa è in realtà la carne della mia domanda. Grazie mille! – Nestor

+2

Nestor, ho aggiornato la mia risposta con un esempio di ricerca di valori predefiniti, da quale finestra di dialogo proviene e come sovrascrivere il valore in modalità installazione invisibile. Ho davvero solo esperienza con gli MSI generati da WiX, quindi ho aggiunto un collegamento a un powerpoint con un buon diagramma delle tabelle MSI principali negli installer di Microsoft. –

+0

+1 per il bel EDIT e il powerpoint. Grazie mille Jim – Nestor

1

E 'vero che è possibile impostare le proprietà pubbliche attraverso la linea di comando. Queste proprietà sono sempre in maiuscolo e generalmente vengono sempre elencate nella tabella Proprietà, sebbene non sia garantito che ciò avvenga. Esaminando la tabella delle proprietà dovresti essere in grado di decodificare ciò che fa ogni proprietà pubblica. In caso contrario, di solito c'è una documentazione che accompagna l'MSI in formato PDF o readme.txt che può essere d'aiuto.

Con lo strumento corretto è anche possibile visualizzare i dettagli di ciascuna finestra di dialogo MSI e controllare gli eventi che sono stati definiti per impostarli. Ciò richiede uno strumento come Installshield o Wise.

Un'altra opzione possibile per l'installazione invisibile è una funzione MSI incorporata di cui sono appena venuto a conoscenza: la proprietà AdminProperties.Vedere le informazioni qui: http://msdn.microsoft.com/en-us/library/aa367542(v=vs.85).aspx

+0

Bello! Questa proprietà non era intorno quando inizialmente risposi. –

Problemi correlati