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

UAC Benutzerkontensteuerung und CustomAction


17 replies to this topic

Proto

Proto
  • Full Members
  • 33 posts

Posted 26 March 2010 - 13:10

Hallo,

Vielleicht kann mir hier ja jemand wiedermal weiter helfen.

zur Grundlage:
Ich habe eine Setup.exe und mein InstallShieldprojekt.

Die Setup.exe soll zur Installationslaufzeit ausgeführt werden. dazu habe ich eine CustomAction erstellt, die eine Ausführbare datei ausführen soll. Die Setup.exe habe ich in die Binarytabelle geschrieben.
Die Customaction funktioniert soweit gut.
Wenn ich jetzt die Installation starte, läuft der ohne Meldung und Ohne probleme durch. Bei inaktiver UAC. Schalte ich jetzt die UAC wieder an und installiere dann, bricht der Rechner ab.
Kann man dazu irgendwo etwas einstellen?

Infos:
-Alle Dateien sind signiert soweit nötig.
-Testsystem ist Windows 7

Ich hoffe wirklich mir kann hier geholfen werden.
gruß
Proto

Edited by Proto, 26 March 2010 - 13:10.


Proto

Proto
  • Full Members
  • 33 posts

Posted 30 March 2010 - 09:36

Hat keiner eine Idee?
Kann es daran liegen, dass ich eine "exe" in die Binary eingebunden habe. Benötigt IS da vielleich eine msi für die UAC?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 30 March 2010 - 15:26

Die Custom Action sollte als "Deferred in System Context" gekennzeichnet sein, wenn sie Admin-Rechte benötigt.

Im Zweifelsfall schau mal ob im Log eine Fehlermeldung steht.

Blueeberry

Blueeberry
  • Full Members
  • 29 posts

Posted 30 March 2010 - 15:50

QUOTE (Proto @ 2010-03-30 09:36)
Hat keiner eine Idee?

Ich denke viel mehr das dich hier niemand versteht wink.gif Ist im Englischen-Bereich... Würde es mal im Deutschen-Bereich probieren... Ausser Stephan Krüger konnte dir jetzt schon helfen...

Proto

Proto
  • Full Members
  • 33 posts

Posted 31 March 2010 - 13:13

Ah misst. hatt ich nicht gesehen, dass ich den im falschen bereich gepostet habe.
Kann man das irgendiwe verschieben?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 01 April 2010 - 13:40

war mir auch nicht aufgefallen - ich verschiebe den Thread.

Proto

Proto
  • Full Members
  • 33 posts

Posted 07 April 2010 - 15:45

QUOTE (Stefan Krueger @ 2010-03-30 15:26)
Die Custom Action sollte als "Deferred in System Context" gekennzeichnet sein, wenn sie Admin-Rechte benötigt.

Im Zweifelsfall schau mal ob im Log eine Fehlermeldung steht.

Ich habe das jetzt mal ausprobieren können.
Hat scheinbar funktioniert. Zu mindest wird alles mit aktiver UAC korrekt wie gewollt installiert.

Danke für die Hilfe.

Proto

Proto
  • Full Members
  • 33 posts

Posted 21 April 2010 - 12:42

So nachdem das jetzt so wunderbar funktioniert hab ich ne weitere Frage.
Die "Setup.exe" wird jetzt mit installiert.

Wie bekomme ich es jetzt hin dass dieses Setup im hintergrund bei einer deinstallation wieder runter geschmissen wird?

Man muss dazu sagen, dass eine uninstall.exe die auf dem Rechner liegt aufgerufen werden muss.
Wie könnte ich das machen?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 22 April 2010 - 15:47

Eine Custom Action die das uninstall.exe aufruft. Bedingung z.B.:
REMOVE~="ALL"

Proto

Proto
  • Full Members
  • 33 posts

Posted 23 April 2010 - 07:54

und in welche sequenz packe ich das?

Edited by Proto, 23 April 2010 - 07:57.


ali

ali
  • Full Members
  • 1,008 posts

Posted 23 April 2010 - 09:40

Ich würde es in der Execute Sequenz ganz am Ende, nach InstallFinalize ausführen. Du müsstest das aber Asynchron (Nicht auf Ende warten) setzen, sonst bekommst du eine Error Meldung vom Installer.

Wieso hast du deine Abhängige Setup.exe nicht als Prerequisite oder Feature Prerequisite eingebaut?

Edited by ali, 23 April 2010 - 09:45.


Proto

Proto
  • Full Members
  • 33 posts

Posted 23 April 2010 - 10:11

QUOTE (ali @ 2010-04-23 09:40)
Wieso hast du deine Abhängige Setup.exe nicht als Prerequisite oder Feature Prerequisite eingebaut?

Das würde doch bedeuten, dass die Setup.exe mit installiert wird oder? Das wollen wir nicht.

Wenns nach mir gehen würde, hätte ich diese Setup.exe garnicht und würde die Dateien die damit installiert werden in meinem eigenen ISProjekt mit installieren. Aber leider geht es nicht nach mir.

ali

ali
  • Full Members
  • 1,008 posts

Posted 23 April 2010 - 10:27

QUOTE
Das würde doch bedeuten, dass die Setup.exe mit installiert wird oder? Das wollen wir nicht.


Nö, Du hast die Wahl zwischen:
Copy from SourceMedia
Download from Web
Extract from Setup.exe
bei letzterem wird deine Setup.exe beim Build in die zu erzeugende Setup.exe aufgenommen und während der Installation also entweder zu Beginn (Prerequisite) oder am Ende der UISequenz Featureabhängig (FeaturePrerequiste) ausgeführt. Deine Setup.exe selbst wird nicht als "File" installiert. Es bleiben eben nur evtl. die CacheFiles über, die aber von deiner Setup.exe selbst erzeugt werden, also zb. im Windows\Installer und/oder DownloadedInstallations Folder.

Vorteil der Prerequisites ist auch noch, dass man verschieden Konfigurationen erstellen kann, die im Redistributables View angezeigt werden und man kann diese An und Abwählen, wie man Sie benötigt.

Edited by ali, 23 April 2010 - 10:28.


Proto

Proto
  • Full Members
  • 33 posts

Posted 23 April 2010 - 13:32

Ok. das hört sich jetzt schon mal sehr gut an.
Könntest du mir noch etwas detailierter beschreiben wie ich das genau anstelle?
Sowas hab ich nämlich noch nie gemacht. Bin da eher unerfahren.

ali

ali
  • Full Members
  • 1,008 posts

Posted 23 April 2010 - 14:15

hm, so im Schnelldurchlauf
In der Menüleiste unter Tools den "PrerequisiteEditor" starten
Dort die Konfigurationssteps durchlaufen die hier beschrieben sind
http://kb.flexerasof...rereqEditor.htm

Wichtig ist im Tab "Application to Run" ganz oben die unter"Files to include" eingebundene MSi auszuwählen und weiter unten Angaben über den Aufruf normal und silent anzugeben. zb.
ALLUSERS=1 /L*V "[TempFolder]meinemsi.log" /qn

Nachdem das prq gespeichert wurde, kann man es im Redistributable View auswählen. In der Maske rechts-unten kann man noch Angaben zu einem Feature machen, wenn man hier ein Feature auswählt, verwandelt man das Prerequisite in ein FeaturePrerequisite, was sinnvoll ist, wenn man das Setup nur mit einem bestimmten Feature installieren will, oder bestimmte Bedingungen angeben muss. Für Bedingungen ist der PrerequisiteEditor nicht so geeignet, ich würde hier eher auf Feature Bedingungen zurück greifen und das Prerequisite mit dem Feature verknüpfen.

Wenn man das Prerequisite im Redistributable View rechts anklickt (oder links bei Linkshändern:)) dann kann man unter "Prerequisite Order" eine Reihenfolge mehrerer Prerequisites auswählen, sofern man mehrere hat. Unter "Properties" kann man noch ein Flag angeben, sofern man das Prerequisite nur mit einem bestimmten FeatureFlag in ein bestimmtes Release einbinden will. "Build Location" gibt den Speicherort an, wobei zu sagen ist, dass diese Einstellung von der Einstellung im Release View "Setup.exe" -> "PrerequisiteLocation" überschrieben wird.

Edited by ali, 23 April 2010 - 14:18.


Proto

Proto
  • Full Members
  • 33 posts

Posted 26 April 2010 - 12:39

So
Ich hab das mal ausprobieren können jedoch gibt es da wiedermal ein Problem.
Wir generieren MSIs aber ich habe beim generieren des Setups die Meldung erhalten, dass ich eine Setup.exe daraus machen muss damit ich ein Prerequisite verwenden kann.
Was mach ich nun? Ne Setup.exe darf ich nicht machen weil wir Betriebs intere Vorschriften haben.

ali

ali
  • Full Members
  • 1,008 posts

Posted 26 April 2010 - 13:56

verstehe ich nicht so ganz. Eine Msi ist ja da, die wird eben nur von der Setup.exe gestartet. Je nachdem welche Paketvariante man wählt, steckt die Msi in der Setup.exe oder die liegen zusammen in einem Verzeichnis. Wie ich in meinem letzen Beitrag geschrieben habe, steckt das Prerequisite in der Setup.exe, daher wird diese auch als Starter benötigt um die Prerequisites zu verteilen.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 April 2010 - 16:54

Prerequisites werden aber bei der Deinstalaltion nicht entfernt.

Falls du die setup.exe nicht in der Binary Tabelle speicherst, sondern mit dem Produkt installierst, dann muss der Aufruf zum Uninstall der setup.exe natürlich erfolgen, bevor die setup.exe selbst vom Hauptsetup gelöscht wird. also z.B. gleich nach InstallInitialize.