Page 1 sur 1

[..] RunAsWait et msiexec

Posté : jeu. 18 déc. 2008 17:30
par Romain
Tout d'abord désolé si le problème à déjà été posé mais après avoir chercher je n'ai rien trouvé d'utile à mon cas.

Alors voila, j'utilise la fonction RunAsWait pour lancer la commande msiexec afin de procéder à une installation silencieuse d'un programme, en l'occurence OpenOffice.org 3.0.

Seulement voila, la fonction ne fait absolument rien, elle ne semble même pas se lancer. Voila la ligne concernée:

Code : Tout sélectionner

RunAsWait($Login, $Domain, $password, 0, $line, @SystemDir, @SW_HIDE)
J'ai vérifié le login, le nom de domaine et le mot de passe, le problème ne viens pas de là. La variable $line est la ligne de commande à lancer, elle est très grande, mais au risque qu'elle soit illisible, la voila:

Code : Tout sélectionner

msiexec /i "\\Pdc\OOo\Install\OpenOffice.org 3.0 (fr) Installation Files\openofficeorg30.msi" /qn ADDLOCAL=gm_Root,gm_Prg,gm_r_Files_2,gm_r_Files_3,gm_r_Files_4,gm_r_Files_5,gm_r_Files_6,gm_r_Files_7,
gm_Langpack_Fonts_fr,gm_r_Fonts_OOo_Hidden,gm_r_Files_Images,gm_r_Brand,gm_Langpack_Brand_fr,
gm_Langpack_Languageroot,gm_Langpack_r_fr,gm_r_Extension_Dictionary_En,gm_r_Extension_Dictionary_Es,
gm_r_Extension_Dictionary_Fr,gm_Langpack_Binfilter_fr,gm_Langpack_Resource_fr,gm_Langpack_Basis_fr,
gm_Oo_Linguistic,gm_p_Wrt,gm_p_Wrt_Bin,gm_Langpack_Writer_fr,gm_Brand_p_Wrt,gm_p_Calc,gm_p_Calc_Bin,
gm_p_Calc_Addins,gm_Langpack_Calc_fr,gm_Brand_p_Calc,gm_p_Draw,gm_p_Draw_Bin,gm_Langpack_Draw_fr,
gm_Brand_p_Draw,gm_p_Impress,gm_p_Impress_Bin,gm_Langpack_Impress_fr,gm_Brand_p_Impress,gm_p_Base,
gm_p_Base_Bin,gm_Langpack_Base_fr,gm_Brand_p_Base,gm_p_Math,gm_p_Math_Bin,gm_Langpack_Math_fr,
gm_Brand_p_Math,gm_o_Quickstart,gm_o_Activexcontrol,gm_o_Winexplorerext,gm_o_Onlineupdate,
gm_o_Pyuno,gm_o_Grfflt INSTALLLOCATION="C:\Program Files\OpenOffice.org\" ALLUSERS=1 SELECT_WORD=1 SELECT_EXCEL=1 SELECT_POWERPOINT=1
(la liste d'attributs de ADDLOCAL est une chaine continue normalement, j'ai mis des passages à la ligne pour que ce soit plus lisible)

Là ou c'est étrange, c'est que non seulement la commande lancée à la main fonctionne, mais en plus, sans les attributs: gm_Brand_p_Wrt, gm_Brand_p_Clac, gm_Brand_p_Impress, gm_Brand_p_Base, gm_Brand_p_Draw et gm_Brand_p_Math, le script fonctionne très bien, mais j'ai besoin d'installer ces packages aussi.

J'ai pensé qu'il y avait peut être une limite pour la taille de la commande lancée par RunAsWait mais j'ai des doutes là dessus quand même.
J'espère que quelqu'un ici sauras m'aider, d'ici là je continue à chercher et je vous tiens au courant si je trouve, ça pourrais aider d'autres personnes.

Re: [..] RunAsWait et msiexec

Posté : jeu. 18 déc. 2008 17:47
par peuchere83
Bonsoir,

je suis dans le même cas que toi : je n'arrive pas à utiliser cette commande (en réseau ou sur le poste).

Si t'as la solution, je suis preneur car pour l'instant j'ai télécharger une vielle version qui utilise RunAsSet afin d'arriver à mes fins.

Re: [..] RunAsWait et msiexec

Posté : jeu. 18 déc. 2008 18:26
par Romain
Bonsoir,

Apparemment c'est le RunAsWait qui ne supporte pas la commande. En utilisant la fonction Run et en lançant le script sur la session de l'administrateur, ça fonctionne.
Effectivement avec l'ancienne version et le RunAsSet ça doit fonctionner mais il doit aussi y avoir une solution avec la nouvelle.

Je cherche toujours, je vous tiens au courant.

Re: [..] RunAsWait et msiexec

Posté : ven. 19 déc. 2008 16:50
par Romain
Bon bon bon, apparemment c'est une question de taille de commande, RunAsWait semble avoir une limite qui est dépassée avec ma ligne de commande.
J'ai donc lancé mon installation en deux fois, la première installe OOo normalement, la deuxième ajoute les raccourcis des modules définient par: gm_Brand_p_Wrt, gm_Brand_p_Clac, gm_Brand_p_Impress, gm_Brand_p_Base, gm_Brand_p_Draw et gm_Brand_p_Math.

Je ne met pas le sujet comme résolut car je ne suis pas sur que ce soit la meilleure solution, en tout cas ça suffira pour moi.

Re: [..] RunAsWait et msiexec

Posté : ven. 19 déc. 2008 21:22
par Tlem
Si la longueur de la ligne de commande vous pose un problème, vous pouvez aussi créer un batch à la volée puis le lancer avec le RunAs. ;)

Re: [..] RunAsWait et msiexec

Posté : lun. 22 déc. 2008 09:20
par Romain
Bonjour,

Merci pour le conseil mais malheureusement ça ne convient pas à mes besoins. En faite, la commande que je lance est déjà tirée d'un batch que je parse manuellement pour en extraire certaines commandes que mon script doit lancer.
Le principe est que l'utilisateur peut soit laisser le script faire le travail lors du premier démarrage de son poste soit lancer le batch lui même pour faire l'installation silencieuse et les autres fonctions choisies.
Mais le script marche en divisant la commande, c'est certes pas très propres mais niveau rapidité la différence n'est pas énorme et ça me permet de me pencher sur quelques améliorations.

Romain

Re: [..] RunAsWait et msiexec

Posté : mar. 23 déc. 2008 12:43
par ani
si vous avez du la divisé il se peut que l'erreur ne soit juste du à un problème dans les quotes

Code : Tout sélectionner

$line = 'msiexec /i "\\Pdc\OOo\Install\OpenOffice.org 3.0 (fr) Installation Files\openofficeorg30.msi" /qn ADDLOCAL=' & _
'gm_Root,gm_Prg,gm_r_Files_2,gm_r_Files_3,gm_r_Files_4,gm_r_Files_5,gm_r_Files_6,gm_r_Files_7,' & _
'gm_Langpack_Fonts_fr,gm_r_Fonts_OOo_Hidden,gm_r_Files_Images,gm_r_Brand,gm_Langpack_Brand_fr,' & _
'gm_Langpack_Languageroot,gm_Langpack_r_fr,gm_r_Extension_Dictionary_En,gm_r_Extension_Dictionary_Es,' & _
'gm_r_Extension_Dictionary_Fr,gm_Langpack_Binfilter_fr,gm_Langpack_Resource_fr,gm_Langpack_Basis_fr,' & _
'gm_Oo_Linguistic,gm_p_Wrt,gm_p_Wrt_Bin,gm_Langpack_Writer_fr,gm_Brand_p_Wrt,gm_p_Calc,gm_p_Calc_Bin,' & _
'gm_p_Calc_Addins,gm_Langpack_Calc_fr,gm_Brand_p_Calc,gm_p_Draw,gm_p_Draw_Bin,gm_Langpack_Draw_fr,' & _
'gm_Brand_p_Draw,gm_p_Impress,gm_p_Impress_Bin,gm_Langpack_Impress_fr,gm_Brand_p_Impress,gm_p_Base,' & _
'gm_p_Base_Bin,gm_Langpack_Base_fr,gm_Brand_p_Base,gm_p_Math,gm_p_Math_Bin,gm_Langpack_Math_fr,' & _
'gm_Brand_p_Math,gm_o_Quickstart,gm_o_Activexcontrol,gm_o_Winexplorerext,gm_o_Onlineupdate,' & _
'gm_o_Pyuno,gm_o_Grfflt INSTALLLOCATION="C:\Program Files\OpenOffice.org\" ALLUSERS=1 ' & _
'SELECT_WORD=1 SELECT_EXCEL=1 SELECT_POWERPOINT=1'

Re: [..] RunAsWait et msiexec

Posté : mar. 23 déc. 2008 14:37
par Romain
Non la ligne de commande est générée par une autre application que j'ai développé moi-même et qui, à priori, est sûr. La commande en elle même fonctionne, c'est seulement dans le RunAsWait que cela pose problème, c'est pour ça que j'avais mis ça sur le compte d'une limitation dans le nombre de caractères pour le paramètre filename de cette fonction.
Je n'ai trouvé aucune information qui corrobore cette hypothèse mais je n'ai pas non plus trouvé d'autres explications. Pour ma part j'ai contourné le problème et ça fonctionne pas mal.

Re: [..] RunAsWait et msiexec

Posté : ven. 26 déc. 2008 12:08
par peuchere83
Bonjour,

as tu essayé d'exécuter ta ligne depuis cmd.exe (avec un start).

Car si cela fonctionne, tu pourras modifier ton runas de la manière suivante :

Code : Tout sélectionner

RunAsWait($Login, $Domain, $Password, 0, @ComSpec & " /c " & "start " & $File, @SystemDir, @SW_MAXIMIZE)
$File représentant le batch qui lancerait ton installation de OpenOffice.

Bonne fêtes.

Re: [..] RunAsWait et msiexec

Posté : mar. 30 déc. 2008 17:24
par Romain
Bonjour,

Le problème c'est que la batch en question contient d'autres lignes que je ne désire pas lancer dans ce script.

Je testerais quand même avec un autre batch pour voir si le RunAsWait accepte ce cas de figure.

Bonne fin d'année.