UUID zur ausgeführten Exe
-
Habe ich eigentlich die Möglichkeit aus meiner ausgeführten Anwendung einen Rückschluß auf die UUID in der Registry zu ziehen?
GetFileInfo(appPath); lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Components\\D5DCA96D986678A498FA124C255C2523",0,KEY_ALL_ACCESS,&hKey) ; if (lResult == ERROR_SUCCESS) { QueryKey(hKey); //ermittelt Subkeys und dreht deren UUID entsprechend um }Also ich würde jetzt das statische "D5DCA96D986678A498FA124C255C2523" dynamisch ermitteln wollen. Gibt es da ne Möglichkeit?
Danke für eventuelle Antworten bzw. das ihr euch das Problem überhaupt angeschaut habt.
-
Nein! Das ist reine Sache des Installers!
-
Schade. Aber danke für die Antwort

-
Ich könnte doch hier statt den DWORD gleich einen Aufruf für die UUID machen. Dann müsste das gehen.
m_dwApplication = (DWORD)newVal;
Allerdings will uuidof nicht funktionieren.
Ich wäre sehr erfreut über Hilfe. Man hat mich hier auch ins kalte Wasser geworfen.
-
Was ist bitte dwApplication?
Wieso denkst Du, dass man ein Programm über eine Installations UID starten kann?
-
Das kam wohl falsch rüber. Ich will nicht ein Programm über die UUID öffnen. Viel eher will ich die Informationen(UUID), die bei der Installation(im ProductCode) übermittelt wurden, gleich beim Aufruf des Dialogs übergeben haben.
Damit ich dann in einem TreeView die zugehörigen Patches wieder geben kann. Bisher war die UUID statisch verankert und egal in welcher exe man den Info Dialog geöffnet hat, es wurden immer die gleichen Produkte mit den zugehörigen Patches angezeigt.
dwApplication ist sozusagen für die Besonderheiten beim Anwendungsaufruf.
Man könnte es so vergleichen als wenn man in der Commandozeile einen Parameter übergibt
C:\hallo.exe -r
-
Das war vielleicht wieder etwas verwirrend.
Also es handelt sich um einen Info Dialog. Sprich die exe ist schon gestartet.
Wenn ich dann den Dialog aufrufe, soll er für die ausgeführte Datei den Product Code und die dazugehörigen Patches anzeigen.
Ich hoffe das war klarer formuliert.
Danke für die Mühe, dass du es dir überhaupt mal durchgelesen hast.
-
Und warum gehst Du damit über die Registry undverwendest nicht den MSI?
MsiOpenDatabase, MsiOpenPakage etc...
-
Ich kannte diese Funktionen nicht.
Aber so schnell mir Hoffnung gegeben wurde, konnte man sie mir auch wieder nehmen. Es werden keine *.msi Packete mit installiert.
Trotzdem danke.