
Vista UAC
Posted 16 November 2006 - 14:05
ich habe folgende Problem beim Setuptest auf WIndows Vista:
Ich habe ein Basic-MSI-Setup welches eine Installscript-CA aufruft.
Diese CA funktioniert nur wenn ich das Setup mit der Option "Run as Admin" starte.
So weit so gut. Ich lösche also in der Summary das entsprechende Bit, um dem Setup zu sagen 'Hey, Du könntest auch Adminrechte brauchen'.
Auch der Weiter-Button ist über das entsprechende Attribut mit dem schönen Shiled-Icon versehen.
Sowohl ausführen des MSI als auch der Setup.exe ändern nichts am Verhalten. Es kommt nicht die Abfrage nach Adminrechten.
Das Setup läuft durch, aber die CA wird nicht ausgeführt.
Nächster Gedanke: Klar, was in der CA passiert erkennt der WI oder Vista nicht. Das die CA Adminrechte braucht wissen beide auch nicht. Also trage ich in den Registry-Table einen Key unter HKLM ein. Spätestens jetzt sollte dem WI oder Vista klar sein, dass das Setup was tun will was nur mit Adminrechten zu machen ist.
Es kommt wie befürchtet: Keine Abfrage nach Adminrechten, das Setup läuft durch bis zum schreiben des Regkeys und bringt dann eine Fehlermeldung, dass es nicht genug Rechte hat.
Wie bekomme ich das Setup dazu die Adminrechte anzufordern?
Weiß jemand eine Lösung? Bin für jede Hilfe dankbar.
Gruß,
Peter
Posted 18 November 2006 - 12:15
Ich schätze du wärst mit dem Post in InstallShield InstallScript Themen besser beraten.
Hast du ALLUSER gesetzt?
Du schreibst, das entsprechende Bit ist gesetzt, soll heißen Bit 3?
Das bedeutet doch aber, das keine Elevated privileges benötigt werden, oder irre ich mich?
Edited by Cybot, 18 November 2006 - 12:33.
Posted 18 November 2006 - 20:52
Stefan Krüger
InstallSite.org twitter facebook
Posted 22 November 2006 - 18:13
sorry für meine verspätete Antwort. Auch mich hat die Grippe erwischt und ich mußte ein wenig Auszeit nehmen.
Nun zum Problem. Natürlich habe ich Bit 3 gelöscht, hatte ich das nicht auch geschrieben?
ALLUSERS ist gesetzt. Hat aber auch keinen Einfulss auf das Verhalten.
Das mit der Einstellung im Release kannte ich nicht. Habe es erfolgreich probiert, natürlichnur so lange ich über die Setup.exe starte. Damit habe ich das nächste Problem: Was wenn ein Kunde das MSI startet. Vor allem aber wenn das installierte Setup über Systemsteuerung\Software im Maintenancemode aufgerufen wird? Hier wird ja immer die MSI-Datei gestartet.
Wie könnte Macrovision das in der Setup.exe gelöst haben? Wir verwenden eine eigenen Setup.exe und würden gerne zu mindest diese Funktionalität nachbauen.
Sollte es aber nicht meines Wissens so sein, dass über das Bit 3 der Windows Installer 4.0 selbst merkt und steuert, dass das Setup Adminrechte benötigt, oder habe ich hier etwas falsch verstanden?
Spielt hier ggf. die Signierung des Setups noch mit rein?
Gruß,
Peter
Posted 22 November 2006 - 19:54
Das Flag in den Release-Einstellungen wirkt auf die setup.exe und führt dazu dass der Elevation Dialog sofort kommt. Dazu musst du in einer eigenen seutp.exe übrigens nichts besonderes machen (man muss nur etwas machen wenn man den Dialog an der Stelle NICHT haben will), es genügt dass sie setup.exe heisst.
Ist deine InstallScript CA als "Deferred in system context" gekennzeichnet? Nur "deferred" reicht nicht.
Stefan Krüger
InstallSite.org twitter facebook
Posted 23 November 2006 - 10:16
Das Vorschaltprogramm heißt Setup.exe, aber der Elevation Dialog kommt nicht.
Das Bit 3 in den Summary-Informationen ist nicht gesetzt, aber auch beim Übergang in die Execute-Sequenz kommt der Elevation Dialog nicht.
Die CA ist nicht als "Deferred in system context" angelegt. Es muß ja auch möglich sein IS-Script-CAs nicht verzögert auszuführen. Es ist ja so, dass ohne wirkiche Adminrechte bei mir keine IS-Script-CA ausgeführt wird. Nicht mal zum Beispiel eine Liznezprüfung in der UI-Sequenz oder ähnliches.
Es ist ein absolut unverändertes Vista-System des letzten Betastandes.
Ich werde die Tage mal mit dem Releasestand testen und mal ein signiertes Setup testen.
Gruß,
Peter
Posted 23 November 2006 - 13:01
Mit InstallScript Aktionen könnte es Probleme geben, vielleicht kannst du erst mal was unverfängliches testen, ein VBScript vielleicht, oder besser eine DLL.
Stefan Krüger
InstallSite.org twitter facebook
Posted 24 November 2006 - 11:55
Das Verhalten ist nun wie es soll.
Mein Problem ist immer noch, dass ich gern volle Adminrechte schon in der UI-Sequenz hätte, auch wenn ich das MSI direkt starte.
Wie kann man das realisieren?
Danke und Gruß,
Peter
Posted 24 November 2006 - 12:35
Stefan Krüger
InstallSite.org twitter facebook
Posted 04 December 2006 - 16:16
Kann ich z.B. über einen RegKey Windows irgendwie beibringen bei einer Reparatur, oder beim Start über Systemsteuerung\Software meine Setup.exe zu starten anstatt des MSI?
Danke und Gruß,
Peter
Posted 04 December 2006 - 22:06
Aber wenn die Reparatur automatisch aufgerufen wird o.ä, dann hast du Probleme.
Wizu brauchst du eiogentlich in der UI Sequenz Admin-Rechte? Da liegt das eigentliche Problem.
Stefan Krüger
InstallSite.org twitter facebook
Posted 08 December 2006 - 10:55
Die Adminrechte brauche ich weil ohne keine einzige IS-Script-CA läuft. Und IS-Script wiederrum verwende ich fast überall im Setup. Unter anderem für Lizenzauswertung etc.
Wenn ich ARPSYSTEMCOMPONENT setze, habe ich dann auch noch beide Buttons (Ändern und Reparieren) in der Systemsteuerung? Wenn ja, gilt der Uninstall-Eintrag dann auch für 'Ändern'?
Posted 08 December 2006 - 17:28
QUOTE |
Wenn ich ARPSYSTEMCOMPONENT setze, habe ich dann auch noch beide Buttons (Ändern und Reparieren) in der Systemsteuerung? Wenn ja, gilt der Uninstall-Eintrag dann auch für 'Ändern'? |
Nein, du bekommst, wie bei nicht-MSi Setups, einen kombinierten "Ändern/Entfernen" Button.
Stefan Krüger
InstallSite.org twitter facebook
Posted 11 December 2006 - 11:30
das Problem, dass die IS-Script CAs nicht aufgerufen wurden ist nun von Macrovision gelöst worden.
Dem entsprechend sollte es, so lange ich nicht unanständiger weise versuche in der UI-Sequenz das Zielsystem zu verändern, keine Probleme mehr geben.
Danke und Gruß,
Peter
Posted 12 December 2006 - 10:59
QUOTE (PeKaWe @ 2006-12-11 12:30) |
das Problem, dass die IS-Script CAs nicht aufgerufen wurden ist nun von Macrovision gelöst worden. |
Nicht aufegrufen wurden, oder Admin-Rechte erforderten? Wie wurde das Problem gelöst (Hotfix?)
Stefan Krüger
InstallSite.org twitter facebook
Posted 11 May 2007 - 12:21
sorry. Hatte nicht mitbekommen, das noch wer geantwortet hatte.
IS hatte das fix ins SP mit aufgenommen, so dass es sich verbreitet haben sollte, weshalb ich hier nichts näheres gepostet habe.
Wer nochmal nachlesen möchte:
http://support.insta...ticleid=Q112500
bzw.: SupportIncident: SIOA-000069762
Gruß,
Peter