Hallo!
Ich stehe vor einem Rätsel: Wir haben mehrere MSI-Pakete und dazu passende Transforms. Alle Pakete wurden automatisiert erstellt, teilweise über das "Automation Interface", teilweise über die MSI API (weil das Interface nicht alles unterstützt). Somit sind die MSIs und MSTs eindeutig definiert und strukturell nahezu identisch.
Jedes MSI-Paket ist auch ohne MST vollständig installierbar und das Ergebnis ist korrekt.
Installiere ich MSI "A" und wende MST "TA" an, ist weiterhin alles korrekt.
Installiere ich MSI "B" und wende Transform "TB" an, ist die Registrierung der Datei-Extensions "advertised", bzw. startet der Installer eine Installation, wenn man die Dateien per Doppelklick aufruft. Dies riecht für mich stark nach "advertised". Was mich jedoch irritiert: Dieses "Nachinstallieren" findet jedesmal statt! Meine Auffassung des Adverticed-Verfahrens war bisher, dass bei Bedarf einmal nachinstalliert wird, anschließend dann alles installiert ist und die Nachinstallation kein zweites mal erfolgen muss. In meinem Fall hier passiert es jedoch immer!
Startet man die Anwendung direkt über das Startmenü oder das Desktop-Icon, erfolgt der Programmaufrif sofort, ohne Nachinstallation. Ein Binärvergleich des Installationsergebnisses mit einem Referenz-Abbild des Laufzeit-Verzeichnisses zeigt keine Unterschiede. Alle Dateien sind im Programmordner vorhanden.
Die Einträge in den Tabellen "Icon", "ProgId", "Extension" und "Verb" sind in allen MSIs identisch. Die MSTs verändern keinen dieser Werte. Verknüpft sind sie mit einer Komponente die nur eine einzige EXE-Datei enthält, die zudem Key-File ist. auch diese Komponente wird von den MSTs nicht verändert. Beim Parent-Feature ist "Advertised" auf "Disallow" gesetzt. Einziger, mir bisher bekannter Unterschied: MSI "A" registriert zwei Extensions, MSI "B" zusätzlich weitere vier.
Hat jemand eine Idee, wie es zu diesem Verhalten kommen kann?
Grüße
Meg