c # - Sådan genkender du en installationsfil?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne lave en installationssporing.
Hvis en udførelsesfil er et installationsprogram, starter jeg en proces for at optage installationsprocessen. Så jeg får en installationslog efter installationen.


Men Hvordan kan jeg genkende en installationsfil. Alle installationsfiler har '.exe' extenison. Er der en særlig metadata i udførelsesfilen for at fortælle mig, at det er en installationsfil.


Jeg ved, at ordfiler har 'forfatter', 'titel' metadata. Måske har en installationsfil en metadata med 'installeringsprogrammet'. Nogen hjælper mig?

Bedste reference


Ingen; et installationsprogram er bare en eksekverbar fil (eller et script, hvis der er tale om MSI).


Du kan dog genkende det ved, hvad det gør - tage et øjebliksbillede af systemet som det var før, måske hak filen og registreringsdatabasen i den eksekverbare, og når det er færdigt, se hvad det har ændret.


Har den for eksempel oprettet en mappe i programfiler? Har det oprettet en uninstaller-post i registreringsdatabasen? Har det skabt nogen tjenester? Etc.

Andre referencer 1


Når og MSI er installatør/fjernet/repareret, vil en 'msiexec.exe' -proces blive startet af operativsystemet. Så dette kunne være en anden ressource, som du gerne vil se.


Hvad angår fil-/registreringsdatabasen systemet, kunne du bruge OS overvågning API, der lytter til ændringer og giver dig de ønskede oplysninger.
http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx[1]