Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Datei-Typ Registrierung ist ungewollt advertised


Best Answer Stefan Krueger , 12 December 2013 - 21:16

Sieht so aus, als meint MSI dass was fehlt (Registry-Eintrag zum Beispiel), kann es aber bei der Reparatur nicht (dauerhaft) wiederherstellen und repariert deshalb immer wieder. Vielleicht wird etwas von UAC in den virtuellen Store umgeleitet?

Um systematisch nach der Ursache zu suchen empfehle ich die Anleitung http://www.msifaq.de/a/1037.htm

Go to the full post


2 replies to this topic

MegDino

MegDino
  • Full Members
  • 47 posts

Posted 11 December 2013 - 15:16

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



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 December 2013 - 21:16   Best Answer

Sieht so aus, als meint MSI dass was fehlt (Registry-Eintrag zum Beispiel), kann es aber bei der Reparatur nicht (dauerhaft) wiederherstellen und repariert deshalb immer wieder. Vielleicht wird etwas von UAC in den virtuellen Store umgeleitet?

Um systematisch nach der Ursache zu suchen empfehle ich die Anleitung http://www.msifaq.de/a/1037.htm



MegDino

MegDino
  • Full Members
  • 47 posts

Posted 13 December 2013 - 12:11

Super! Vielen Dank! An eine Reparatur habe ich nun gar nicht gedacht. Aber genau das war es!

Es lag an einer leeren Komponente, die dann natürlich auch kein Verzeichnis anlegt. In der Basis-Installation ist sie nicht leer und damit ist der Ordner auch nach der Installation vorhanden. Die Transformationen schlossen jedoch die Dateien dieser Komponente aus, damit wurde der Ordner nicht angelegt und der Installer begann zu reparieren. Dabei kam jedoch kein UAC-Dialog hoch, womit auch kein Ordner im Programmverzeichnis angelegt werden konnte. Daher passierte es immer wieder.

Gelöst habe ich das nun mit einem Eintrag in Tabelle "CreateFolder".

Nochmal vielen Dank für die klasse Anleitung!

Gruß

Meg