Frage

Ich habe einen Custom als Teil eines MSI.

Es muss als Domänenkonto ausführen, die auch Mitglied der lokalen Administrator-Kontos ist.

Es kann nicht den NoImpersonate Flag verwenden, die benutzerdefinierte Aktion als NT Authority \ System ausgeführt werden, da es nicht dann wird der Zugriff auf Netzwerkressourcen bekommen.

Unter Vista / 2008 mit UAC aktiviert, wenn NoImpersonate ausgeschaltet, dann ist es als ausführendes Benutzer ausgeführt wird, aber mit dem unprivileged Token und nicht dem Zugriff auf lokale Ressourcen wie .InstallState zu bekommen. Siehe UAC Architektur

Wer weiß von einer Weise, entweder

  • die MSI Kraft mit dem Token mit erhöhten Rechten in der gleichen Art und Weise ausgeführt werden, dass von einer erhöhten Eingabeaufforderung tut?

  • Zwingen Sie den Custom erhöht laufen (requireAdministrator in manifest nicht zur Arbeit erscheint)?

  • Die Arbeit, wenn UAC aktiviert ist, und wenn es um die Installation erhöht und wenn ja nicht ran warnen oder stornieren?

  • wurde
War es hilfreich?

Lösung

Die Beantwortung meiner Frage für eine andere arme S0D Blick auf diesem.

  • Sie können kein Manifest zu einem MSI hinzuzufügen. Sie könnten ein SETUP.EXE oder Bootstrap-Programm hinzufügen, um die MSI-Shell und offenbar, dass mit requireAdministrator aber, dass einige des Punkt besiegt eine MSI zu verwenden.

  • Das Hinzufügen eines manifest zu einem Custom funktioniert nicht wie es von msiexec.exe lief ist

So wie ich das in Angriff genommen haben, ist die MSIUSEREALADMINDETECTION Eigenschaft auf 1, so dass der Privilegierte Zustand tatsächlich funktioniert und fügen Sie eine Startbedingung für Privilegierte , die über das Ausführen von über einer erhöhten Eingabeaufforderung eine Fehlermeldung gibt und beendet dann die Installation ab.

Dies hat den glücklichen Nebeneffekt - wenn ein msi von einer erhöhten Eingabeaufforderung latente CustomActions- als der aktuellen Benutzer mit einer vollen Administrator-Token liefen werden läuft ist (und nicht als Standard-Benutzertoken), unabhängig von dem NoImpersonate Einstellung.

Weitere Details - http: // www.microsoft.com/downloads/details.aspx?FamilyID=2cd92e43-6cda-478a-9e3b-4f831e899433

[Bearbeiten] - ich Skript gesetzt haben hier die können Sie die MSIUSEREALADMINDETECTION Eigenschaft hinzufügen als VS nicht über die Fähigkeit es und Orca ist ein Schmerz zu tun.

Andere Tipps

requireAdministrator im Manifest sollte funktionieren.

Sie können auch einen Bootloader EXE-Datei verwenden, die ShellExecute mit „RUNAS“ als Verb verwenden können (Sie können 7-zip verwenden den Bootloader zu erstellen, oder es gibt viele andere Möglichkeiten).

Sie können eine einfache SFX Archivdatei für msi Datei mit Winrar erstellen und diese Optionen:

  • Registerkarte Setup> Ausführen nach der Ausführung Eingang : Ihr msi Dateiname

  • Registerkarte Erweitert> Mark Anfrage Administratorzugriff Option Checkbox

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top