Nwlapcug.com


Come leggere un File MSI

Leggendo le proprietà di un file di libreria di oggetti di Microsoft Windows Installer (MSI) aiuta il programmatore di identificare la versione, il produttore e il prodotto memorizzate nel file. Questo è utile quando l'applicazione ha bisogno di trovare le informazioni di prodotto per una particolare installazione. Un file MSI è un archivio compresso che impacchetta tutti i file necessari per installare un'applicazione. Leggendo le proprietà di questi file può essere eseguita utilizzando ASP.NET.

Istruzioni

1

Importare le librerie necessarie dello spazio dei nomi. I metodi e le proprietà per leggere un file MSI vengono importati con il codice di spazio dei nomi seguente:
utilizzando WindowsInstaller;

2

Creare un'istanza delle classi e assegnarli a una variabile. Ci sono tre classi utilizzate nelle applicazioni ASP. Il codice seguente imposta le classi per l'utilizzo nel codice:
Tipo myType = GetTypeFromProgID ("WindowsInstaller. Installer");

Object theInstallObject = Activator. CreateInstance (myType);

Installatore myInstaller = theInstallObject come programma di installazione;

3

Aprire l'archivio MSI per la lettura. Il \"0\" parametro indica il programma viene aperto il file per leggerlo. Utilizzando \"1\" metterlo per iscritto:
Database theMSIdb = myInstaller.OpenDatabase (\"C:\themsifile.msi\", 0);

4

Utilizzare SQL per eseguire query archivio database del file. Il file contiene una tabella di proprietà all'interno dell'archivio. Utilizzo di SQL query e restituisce le proprietà per valutare nel codice. La sintassi seguente estrae la proprietà di versione all'interno del file MSI:
string myQuery = String. Format (selezionare * da proprietà dove proprietà = "{0}'", \"ProductVersion\");

Mostra myPropertyView = theMSIdb.OpenView (myQuery);

myPropertyView.Execute (null);

5

Assegnare la proprietà restituita a una variabile. Il codice seguente assegna la versione del prodotto estratto a una variabile che può essere utilizzata per visualizzare informazioni all'utente:
Record myRec = myPropertyView.Fetch();

Se (myRec! = null) {
String strVersion = myRec.get_StringData (1);

}

6

Stampare il numero di versione per la visualizzazione. Il codice riportato di seguito consente di visualizzare le informazioni recuperate dal file MSI:
Console.WriteLine(strVersion);