Ausführen eines Installers auf Vista ohne das deaktivieren der UAC
Mein msi-installer installiert werden kann auf einem Vista-Rechner ohne das deaktivieren der UAC. Als meine Anwendung verteilt werden wird, um meine Kunden, rund 20 Maschinen, und Sie wollen nicht, die UAC zu deaktivieren, gibt es eine Möglichkeit, dass ich einstellen können, eine Eigenschaft die es erlauben würde, mein installer ausführen silent ohne Benutzer-Interaktion bei der UAC, die ist aktiviert, pop-up zeigt sich
- Es muss Weg sein, um eine Masse zu installieren auf 20 Maschinen mit admin-rechten in einer Domäne festlegen. Sind diese clients auf einen lokalen domain-oder sind Sie alle über dem Platz?
- Welches tool verwenden Sie zur Erstellung Ihres installer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die besten Ressourcen, die ich gefunden habe, in meinen Kopf zu kriegen ist UAC ist Robert Flamings blog, bekam er eine Serie von über 25 Beiträge, die erklären, wie Vista, die UAC und die MSI all zu interagieren.
Vista fragt immer, sobald es bekommt, um die "InstallExecuteSequence", wenn Sie tun eine pro-Maschine installieren (ALLUSERS=1), jedoch wenn Sie haben einen installer, der die Anhebung erfordert außerhalb dieser Reihenfolge, dann die beste Lösung ist die Verwendung eines bootstrapper EXE-Datei mit einem manifest, der angibt, die Höhe ist erforderlich, wenn die EXE ausgeführt wird.
Verwenden wir ein kommerzielles bootstrapper von Indigo Rose (es ist ein standalone-Anwendung, sondern es wird nur verkauft, da ein Teil der MSI Factory), aber man konnte kreativ mit NSI, verwenden Sie die Visual Studio one und es gibt auch ein Beispiel in der Windows Installer SDK
Benutzerkontensteuerung erscheint, da Sie die Installation in einen Ordner der Benutzer nicht die Berechtigung habe, wie Programm-Dateien, vielleicht versuchen, die Installation auf ein Verzeichnis vom Benutzer home-Laufwerk? Die home-Treiber in Vista ist c:\Users\Username gibt es ein Verzeichnis für lokale Anwendungen, C:\Users\Username\AppData\Local\Apps.
Können Sie werben die installation zu 20 clients. Wenn Sie trigger der angekündigte Haken (Start-Menü shortuct, COM-Schnittstelle, Datei-Zuordnung, etc.) das Programm wird installiert, mit admin-rechten.
Hier ist ein Beispiel, wie ein administrator bewerben würde ein Paket:
msiexec.exe -jm c:\\mypackage.msi
Dem MSDN-Artikel:
http://msdn.microsoft.com/en-us/library/aa367548(VS.85).aspx
Vista/UAC sollte mit der Aufforderung zur Bestätigung zu gehen w/der Installation nicht blockiert es völlig. Was ist der name Ihrer MSI? Wie, hat Sie magisch arbeiten, wenn Sie es umbenennen, um setup.msi?
Diese sollte Ihnen zu helfen.
EDIT: In Antwort auf Ihre Anfrage zur Klärung. Sie können verwenden Sie die task Zeitplan, um den Zeitplan zur Ausführung der Installation, die nicht fordert, und dann kann man über die Nutzer - /system-Administratoren installieren, dass die Planer von einem Skript (kann man einplanen, das nächste mal der Benutzer anmeldet, zum Beispiel).
Dass ist der einzige Weg, in Vista zu vermeiden Bestätigungs-Dialogfeld auf (Nahkampf von der Deaktivierung der Benutzerkontensteuerung, die Sie nicht wollen, zu tun).
Ich hoffe das macht die Dinge klar.