2011-12-19 6 views
59

J'ai un package MSI que j'ai besoin d'installer si le package n'est pas déjà installé. Aussi j'ai besoin de l'installer en silence. Le paquet demande à l'utilisateur pour:Installation silencieuse d'un package MSI

  • Lieu d'installation (C: \ Program Files \ Foobar)
  • type d'installation:

minimale et complète (minimum) je dois remplacer ces deux paramètres en utilisant la commande paramètres de ligne ou une autre méthode. Alors, comment puis-je aller sur ces deux questions. Je vais utiliser VBScript pour les scripts.

Répondre

91

Vous devriez pouvoir utiliser les options /quiet ou /qn avec msiexec pour effectuer une installation silencieuse.

Les packages MSI exportent les propriétés publiques, que vous pouvez définir avec la syntaxe PROPERTY=value à la fin des paramètres msiexec.

Par exemple, cette commande installe un paquet sans interface utilisateur et sans redémarrage, avec un journal et deux propriétés:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2 

Vous pouvez lire les options pour msiexec par simplement en cours d'exécution sans option de démarrage - > Exécuter.

+1

Existe-t-il un moyen de trouver une liste de paramètres acceptables ('PROPERTY1' et' PROPERTY2' dans votre exemple)? –

+0

Voici la liste des propriétés prédéfinies: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370905(v=VS.85).aspx La propriété du dossier d'installation est différente pour chaque création d'installation outil. Qu'avez-vous utilisé pour créer le MSI? –

+0

@Cosmin: MSI est constitué de DLL d'exécution d'un système de paiement (que je n'ai pas créé). Je regarde un outil appelé Ocra pour disséquer le MSI, il m'a donné un indice sur une variable appelée "INSTALLLOCATION". Je vérifie. –

1

La bonne façon d'installer un MSI est en mode silencieux via le msiexec.exe command line comme suit:

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log" 

Explication rapide:

/L*V "C:\Temp\msilog.log"= verbose logging 
/QN = run completely silently 
/i = run install sequence 

Il y a une réponse beaucoup plus complète ici: Batch script to install MSI. Cette réponse fournit des détails sur les options de ligne de commande msiexec.exe et une description de comment trouver les "propriétés publiques" que vous pouvez définir sur la ligne de commande lors de l'installation. Ces propriétés sont généralement différentes pour chaque MSI.

Questions connexes