Ich versuche, ein MSI auf einem Windows Server 2012-Computer zu installieren, der Teil meiner Labordomäne ist. Ich bin lokaler und Domänenadministrator, aber anscheinend kann ich dieses MSI nicht installieren.
Zur Verdeutlichung wird beim Versuch, die Git-Erweiterung für Visual Studio ( hier ) zu installieren, die als Domänenbenutzer angemeldet ist, der Teil der Administratorgruppe ist, die folgende Fehlermeldung angezeigt
Der Computer, der den Fehler meldet, ist Windows Server 2012.
Ich bin mir fast sicher, dass es sich um eine Gruppenrichtlinieneinschränkung handeln muss. Es wurde keine festgelegt, es sei denn, dies ist die Standardsicherheitsstufe.
Ich möchte zur Verdeutlichung wissen, was verhindert, dass dieses MSI von einem Domänenadministrator installiert wird.
quelle
Ich bin auf dieses Verhalten gestoßen, bei dem die MSI-Installation mit "Der Systemadministrator hat Richtlinien festgelegt, um diese Installation zu verhindern" verhindert wurde. Ich glaube, es liegt an der Standardrichtlinie für Windows-Softwareeinschränkungen, und ich habe sie sowohl auf Windows Server 2008 R2 als auch auf Windows Server 2012 gesehen.
Es gibt wahrscheinlich eine bessere GUI-basierte Möglichkeit, die Richtlinie zu ändern, aber das Festlegen des folgenden Registrierungsschlüssels als Administrator auf dem Computer reicht aus:
quelle
Dies liegt normalerweise an einer Gruppenrichtlinie oder einer lokalen Richtlinie, die Windows Installer deaktiviert.
Suchen Sie auf Ihrem Domänencontroller nach einem Gruppenrichtlinienobjekt, das "Windows Installer" deaktiviert: Computerkonfiguration> Administrative Vorlagen> Windows-Komponenten> Windows Installer> "Windows Installer deaktivieren".
Stellen Sie sicher, dass "Nicht konfiguriert" oder "Deaktiviert" eingestellt ist.
Wenn Sie es in Ihrem Gruppenrichtlinienobjekt nicht finden, überprüfen Sie die lokalen Richtlinien des Computers mit gpedit.msc.
Hinweis: Die Tatsache, dass Sie ein Domain-Administrator sind, spielt keine Rolle. Es hängt alles vom Umfang des Gruppenrichtlinienobjekts ab.
quelle
Verify that it is set to "Not configured" or "Disabled".
Das ist nicht wahr. Die Standardeinstellung (Nicht konfiguriert) lautet "1
Was bedeutet"managed only
. msdn.microsoft.com/en-us/library/aa368304.aspx In Bezug auf gpos deaktiviert bedeutet, dass die Richtlinie deaktiviert wird, sodass der Registrierungsschlüssel gelöscht und die Standardeinstellung verwendet wird. Der Klang ist seltsam, aber Sie müssen auswählenEnabled
undNever
in der Dropdown-Box auswählen .Wir hatten genau das gleiche Problem beim Erstellen einer MSI mit
IsCmdBld.exe
, aber nicht beim Erstellen über die Benutzeroberfläche der InstallShield-Software.Beim Ausführen des Installationsprogramms wird der vom OP erwähnte Fehler angezeigt und das Installationsprotokoll zeigt Folgendes an:
MSI_LUA: Invalid Descriptor Format.
Die Ursache des Problems war , dass wir einen Produktcode Guid Wert auf die IsCmdBld.exe Befehlszeile wie folgt waren vorbei:
-z "ProductCode"="f176c219-dec0-4fa9-a373-94a711f28a3d"
.Sie können sehen, dass die hier angegebene Guid nicht von
{
und umgeben ist}
.Wir haben das Problem behoben, indem wir die Anleitung in eckige Klammern gesetzt haben: Das
-z "ProductCode"="{f176c219-dec0-4fa9-a373-94a711f28a3d}"
funktioniert wie erwartet und zeigt den Fehler nicht mehr an.quelle
Rechtsklick -> Als Administrator ausführen
quelle
Weder die Fixes für msiexec noch für die Registrierung haben bei mir funktioniert (auch nach dem Neustart), aber das Deaktivieren der Benutzerkontensteuerung (wie von Ha Ly in diesem Thread vorgeschlagen ) und das Neustarten haben den Trick ausgeführt.
quelle
Sie haben die Möglichkeit aus UAC über Registry zu drehen durch die Veränderung
DWORD
EnableLUA
von1
zu0
inHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
. Sie erhalten eine Benachrichtigung, dass ein Neustart erforderlich ist. Nach dem Neustart ist die Benutzerkontensteuerung deaktiviert.quelle