J'essaie d'installer un MSI sur une machine Windows Server 2012 qui fait partie de mon domaine de laboratoire. Je suis administrateur local et de domaine, mais il semble que je ne puisse pas installer ce MSI.
Pour plus de précision, lorsque j'essaie d'installer l'extension git pour Visual Studio (situé ici ) connecté en tant qu'utilisateur de domaine qui fait partie du groupe administrateur, j'obtiens l'erreur suivante
La machine signalant l'erreur est un Windows Server 2012.
Je suis presque certain que ce doit être une sorte de restriction de stratégie de groupe? Aucun n'aura été défini, sauf s'il s'agit du niveau de sécurité par défaut?
Pour plus de précision, j'aimerais savoir ce qui empêche l'installation de ce MSI par un administrateur de domaine?
Après avoir passé du temps à étudier la politique de groupe, pour autant que je sache, rien n'était pertinent. Je suis alors tombé sur ce post qui me suggère d'essayer de lancer une invite de commande en tant qu'administrateur et d'exécuter
msiexec /a install.msi
Cela a semblé fonctionner, mais a fonctionné très rapidement - en fait, cela n'a pas fonctionné . Sur un coup de tête, j'ai essayé cela dans l'invite de commande admin.
msiexec /i install.msi
qui a fonctionné un régal.
J'ai rencontré ce comportement, où l'installation de MSI est empêchée avec "L'administrateur système a défini des stratégies pour empêcher cette installation" auparavant. Je pense que cela est dû à la stratégie de restriction logicielle par défaut de Windows et je l'ai vue à la fois sur Windows Server 2008 R2 et Windows Server 2012.
Il existe probablement un meilleur moyen basé sur une interface graphique pour modifier la stratégie, mais la définition de la clé de Registre suivante en tant qu'administrateur sur la machine fait l'affaire:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"DisableMSI"=dword:00000000
Cela est généralement dû à une stratégie de groupe ou à une stratégie locale désactivant Windows Installer.
Regardez sur votre contrôleur de domaine si vous avez un GPO désactivation de "Windows Installer": Configuration ordinateur> Modèles d'administration> Composants Windows> Windows Installer> "Désactiver Windows Installer".
Vérifiez qu'il est défini sur "Non configuré" ou "Désactivé".
Si vous ne le trouvez pas dans votre objet de stratégie de groupe, consultez les stratégies locales de l'ordinateur à l'aide de gpedit.msc.
Remarque: le fait que vous soyez un administrateur de domaine n'a pas d'importance. Tout dépend de la portée du GPO.
Nous avons rencontré exactement le même problème lors de la création d'un MSI à l'aide de IsCmdBld.exe
, mais pas lors de la construction à partir de l'interface utilisateur du logiciel InstallShield.
Lors de l'exécution du programme d'installation, nous verrions l'erreur mentionnée par l'OP et le journal d'installation afficherait: MSI_LUA: Invalid Descriptor Format.
Le problème était dû au fait que nous transmettions une valeur Guid ProductCode à la ligne de commande IsCmdBld.exe comme ceci: -z "ProductCode"="f176c219-dec0-4fa9-a373-94a711f28a3d"
.
Vous pouvez voir que le Guid fourni ici n'est pas entouré de {
et }
.
Nous l'avons corrigé en passant le guid avec des crochets autour: -z "ProductCode"="{f176c219-dec0-4fa9-a373-94a711f28a3d}"
qui fonctionne comme prévu et n'affiche plus l'erreur.
clic droit -> exécuter en tant qu'administrateur