2017-01-12 8 views
0

Ich habe ein Problem mit meinem WIX-Installer, dass ich ein paar Ratschläge mit.Wix pro Benutzer als Admin installieren

Ich verwende Wix, um eine MSI zu erstellen, die eine Installation pro Benutzer ausführt. Pro Benutzer ist erforderlich, damit ich keine Administratorrechte für die Installation benötige. Ich habe den installscope = perUser und impersonate = yes für eine benutzerdefinierte Aktion festgelegt. Dies funktioniert gut, es sei denn, es ist eine Gruppenrichtlinie festgelegt, die die Installation pro Benutzer verhindert. In diesem Szenario kann jeder einen Weg für einen anderen Admin-Benutzer vorschlagen, der über Richtlinienrechte zum Ausführen einer MSI verfügt, um das Installationsprogramm auszuführen und trotzdem die benutzerdefinierte Aktion in die HKSU-Registrierungsstruktur der angemeldeten Benutzer schreiben zu lassen.

Hope this Sinn

Dank

Antwort

1

Im Idealfall haben Sie sollten nicht eine benutzerdefinierte Aktion tun das Schreiben HKCU macht. Wenn wir wüssten, was Sie geschrieben haben, ist es möglich, dass das Standard-WiX-Registrierungselement die Einträge erstellt, sodass Sie keinen Code benötigen. Oder Sie könnten eine WiX Semi-Custom-Aktion schreiben, die die erforderlichen Zeilen in die Registry-Tabelle schreibt, die trotz ihrer offensichtlichen Komplexität ein einfacheres Design ist.

Imitierte benutzerdefinierte Aktionen haben standardmäßig keinen Zugriff auf HKCU, da Identitätswechsel nicht bedeutet, dass sie sich "genauso verhalten wie der interaktive angemeldete Benutzer mit diesen Anmeldeinformationen". Identitätswechsel bedeutet nur, dass Sie mit den Anmeldeinformationen des Benutzers ausgeführt werden. Es bedeutet nicht, dass Sie das Profil des Benutzers (Registrierungsstruktur) geladen haben. Die Dokumentation für LoadUserProfile erklärt dies. Sie müssen also das LoadUserProfile für den installierenden Benutzer ausführen. Das alles wird ziemlich schnell kompliziert und ist wahrscheinlich der am wenigsten gute Weg, diese Einträge zu schreiben.

+0

Danke für die Antwort. Ich verstehe, was Sie sagen, aber ich habe keine Wahl bei der benutzerdefinierten Aktion. Es handelt sich um eine Komponente von Drittanbietern namens addin express, die ein adxregistrator-Dienstprogramm bereitstellt, das die Registrierung durchführt. Dies hat eine Menge Logik, die ich nicht neu erstellen möchte. – user6448336

Verwandte Themen