I. Introduction▲
Tout administrateur Windows souhaitant gérer l’installation d’applications sur son parc informatique par GPOGroup Policies Object (ou stratégie de groupe en français) se pose la question : « existe-t-il un fichier .msi pour le logiciel que je souhaite déployer sur mon parc » ?
Lorsque vous déployez une application via GPO, il y a généralement deux méthodes :
- Utiliser un fichier « .msi », ce qui est simple lorsque l’on en dispose ;
- Utiliser un fichier « .exe » ou autre (exécution par script par exemple), ce qui nécessite de passer par la conception d’un programme.
La seconde méthode est plus compliquée pour les néophytes, car cela nécessite de devoir créer un programme en Visual Basic, Batch, PowerShell ou autre.
Nous utiliserons dans ce tutoriel la première méthode.
Adobe Reader DC gratuit a la particularité de nous fournir un « .exe » qui doit être retravaillé pour créer un « .msi ». Nous verrons comment le faire facilement.
II. Construction du fichier « .msi »▲
La construction du « .msi » se fait en quatre étapes. Nous les détaillerons et à la fin, le tutoriel vous fournira un programme permettant d’aller plus vite dans la construction de ce fichier.
II-A. Étape 1 - prérequis▲
- Licence Adobe
Vous êtes une grande ou petite entreprise et vous souhaitez déployer Adobe Reader DC gratuit sur plusieurs ordinateurs de votre parc, c’est donc une distribution en masse. Vous devez demander un contrat de distribution de licences en remplissant ce formulaire sur le site d’Adobe, même si le logiciel est gratuit. Il y a un bouton « Faire la demande » dans la section « Demander une licence pour un ordinateur ».
Rassurez-vous, c’est un formulaire à remplir et vous recevrez automatiquement et gratuitement votre contrat en quelques minutes. C’est juste une formalité.
- Exécutable Adobe Reader DC
Téléchargez Adobe Reader DC Entreprise : http://get.adobe.com/reader/enterprise/. Configurez le modèle de vos ordinateurs et téléchargez.
Adobe dispose d’un site FTP, mais ce dernier n’est jamais à jour, il est difficile d’obtenir les dernières versions. L’avantage de passer par l’interface entreprise est que l’on pourra en plus cibler le modèle d’ordinateur et la langue.
Dans notre exemple, nous avons créé un dossier C:\temp\PreparationAdobe pour y déposer l’exécutable.
- Acrobat Customization Wizard DC for Windows
Cet outil Acrobat nous permettra de personnaliser notre futur fichier « .msi » pour notre GPO, c’est optionnel. Le téléchargement peut se faire sur ce lien : ftp://ftp.adobe.com/pub/adobe/acrobat/win/AcrobatDC/misc/ ou https://www.adobe.com/devnet-docs/acrobatetk/tools/Wizard/index.html. Vous prenez le plus récent, à ce jour : CustWiz2100720091_en_US_DC.exe.
Nous allons déposer ce fichier dans le dossier C:\temp\PreparationAdobe et l’installer sur notre ordinateur.
II-B. Étape 2 – création du « .msi »▲
Dans cette étape, nous allons extraire le fichier « .msi » de notre exécutable et le mettre à jour pour en créer un utilisable pour notre GPO.
II-B-1. Extraction du « .msi »▲
Nous allons extraire le fichier « .msi » de l’exécutable d’Adobe Reader DC. Pour ce faire, il existe deux méthodes : utiliser le logiciel « 7-Zip » ou le faire en ligne de commande.
- Méthode 7-Zip
Placez-vous dans le dossier C:\temp\PreparationAdobe et faites un clic droit sur l’exécutable → 7-Zip → extraire les fichiers…
Nous allons extraire le fichier dans un dossier qui se nommera « Extraction ».
Il est important de travailler avec des répertoires sans espaces. Ce sera utile par la suite pour les lignes de commande.
Notre « C:\temp\PreparationAdobe\Extraction » contient plusieurs fichiers : msi, msp, ini…
Ce n’est pas fini ^^ ! Si vous installez le fichier « AcroRead.msi » du dossier d’extraction, vous aurez la malheureuse surprise d’installer Acrobat 2015.
- Méthode d’extraction en ligne de commande
Si vous n’avez pas le logiciel « 7-Zip », vous pouvez effectuer l’extraction en ligne de commande PowerShell. Cette méthode sera utilisée à la fin de notre tutoriel dans le programme final.
Ouvrez une console DOS et lancez la commande ci-dessous. Vous obtiendrez le même résultat qu’avec la méthode 1.
C:\temp\PreparationAdobe\AcroRdrDC2400120643_fr_FR.exe -sfx_o"C:\temp\PreparationAdobe\Extraction" -sfx_ne
II-B-2. Préparation de l’installation▲
Nous allons maintenant installer Adobe dans notre dossier final et le patcher avec le fichier « .msi » pour y inclure les mises à jour d’Adobe (rappelez-vous ! Le « .msi » extrait est en version 2015).
Pour ce faire, créons le dossier « C:\temp\PreparationAdobe\Final » et toujours dans notre console, lançons deux commandes :
msiexec
/a "C:\temp\PreparationAdobe\Extraction\AcroRead.msi" TARGETDIR=
"C:\temp\PreparationAdobe\Final"
Cette commande va vous lancer une installation Adobe :
Faites suivant → suivant et Terminer. Vous avez maintenant un dossier « C:\temp\PreparationAdobe\Final » avec des dossiers et un nouveau fichier « AcroRead.msi » d’environ 2 Mo.
Nous allons maintenant patcher ce fichier « .msi » grâce au fichier patch « .msp » de l’extraction. Pour cela, il faut copier le fichier « setup.ini » du dossier d’extraction dans le dossier final et lancez la commande pour patcher :
2.
COPY
/Y C:\temp\PreparationAdobe\Extraction\setup.ini C:\temp\PreparationAdobe\Final
msiexec.exe /a "C:\temp\PreparationAdobe\Final\AcroRead.msi" /p "C:\temp\PreparationAdobe\Extraction\AcroRdrDCUpd2400120643.msp"
Le fichier « C:\temp\PreparationAdobe\Final\AcroRead.msi » a été patché et a une taille de 4 Mo.
Vous avez maintenant un fichier « .msi » qui peut être utilisé pour notre GPO, mais nous allons tout de même le personnaliser pour encore plus de facilité et homogénéité d’installation sur notre parc informatique.
II-C. Étape 3 - customisation du MSI (optionnel)▲
Notre fichier « C:\temp\PreparationAdobe\Final\AcroRead.msi » est normalement prêt à être utilisé pour notre GPO. Néanmoins, Adobe fournit un outil qui permet de personnaliser notre « .msi » afin d’y insérer des options qui seront automatiquement configurées à l’installation d’Adobe Reader DC.
Ouvrons l’application « Acrobat Customization Wizard DC for Windows » et chargeons notre fichier « C:\temp\PreparationAdobe\Final\AcroRead.msi ». Nous allons pouvoir paramétrer notre fichier « .msi ».
Nous supprimons la fenêtre d’acceptation de licence à la première ouverture d’un PDF. Le lecteur n’aura pas besoin d’accepter la licence d’Adobe à la première ouverture d’un PDF, ce sera le cas par défaut.
Nous décidons de désinstaller les anciennes versions d’Adobe sur les futurs ordinateurs, d’obliger une installation en mode silencieux (utile pour la GPO) et d’empêcher le redémarrage de l’ordinateur.
Cette option peut être intéressante. En choisissant « All files », Adobe considère que les fichiers ouverts ne sont pas de sources sûres. Ainsi, il n’exécutera pas automatiquement des macros et bloquera des fonctionnalités à l’ouverture.
Vous aurez un avertissement à l’ouverture de chaque PDF. L’utilisateur pourra déclarer dans son Adobe Reader DC un répertoire de confiance pour éviter cet avertissement :
Nous désactivons les mises à jour automatiques, car nos utilisateurs ne seront pas administrateurs de leur PC et en cas de mise à jour, ce sera géré par la GPO. D’autres services que nous estimons inutiles sont également bloqués.
La personnalisation étant terminée, nous allons l’enregistrer dans notre dossier « C:\temp\PreparationAdobe\Final » via le menu « Transform » → « Generate Transform ». Fermez le logiciel. Il vous demandera si vous souhaitez sauvegarder les modifications apportées au « .msi », répondez « Oui ».
On crée ainsi un fichier « C:\temp\PreparationAdobe\Final\AcroRead.mst ».
Maintenant, nous avons tout ce qu’il faut pour notre GPO.
II-D. Étape 4 – test et déploiement par GPO▲
II-D-1. Test – installation sans GPO▲
Avant de procéder au déploiement par GPO, il est important de tester que tout est OK en local.
Pour une installation en ligne de commande sans passer par la GPO, il suffit de lancer la commande :
msiexec.exe /i C:\temp\PreparationAdobe\Final\AcroRead.msi TRANSFORMS=
C:\temp\PreparationAdobe\Final\AcroRead.mst
Si Adobe Reader n’était pas installé, tout devrait fonctionner correctement. Par contre, si Adobe Reader est déjà installé, il possible que vous obteniez ce message d’erreur :
Il faut une désinstallation préalable pour pouvoir effectuer notre installation.
II-D-2. Installation avec GPO▲
Maintenant, pour notre GPO, il faut créer dans notre dossier partagé qui est utilisé par le contrôleur de domaine, un dossier nommé par exemple ainsi : « AcroRdrDC2400120643_fr_FR ». Dans ce dossier, il faut copier tout le contenu du répertoire « C:\temp\PreparationAdobe\Final ». Ensuite, lancer notre outil de Gestion des stratégies de groupe :
Maintenant, nous pouvons créer notre GPO :
Ensuite, nous allons modifier cette GPO en la paramétrant → Clic droit sur la GPO et « Modifier ». On se place dans Configuration ordinateur → Paramètre du logiciel → Installation de logiciel → Nouveau.
On sélectionne le fichier « AcroRead.msi » dans le dossier partagé « AcroRdrDC2400120643_fr_FR ».
Il faut choisir le type de déploiement « Avancé », car nous allons modifier ce fichier « .msi » avec notre personnalisation.
Il ne faudra pas oublier de lier votre GPO à une « OU » qui contiendra vos ordinateurs de test puis votre parc informatique quand tout sera testé et validé.
Voilà, notre GPO est prête.
Vous pouvez sur un poste client lancer la commande :
gpupdate
/force
Et vous pouvez redémarrer le PC pour tester le fonctionnement.
II-E. Résumé et programme complet▲
La création du fichier « .msi » d’Adobe Reader est assez particulière. Voici un programme PowerShell qui fera plusieurs choses pour nous :
- télécharger l’exécutable d’Adobe Reader DC Entreprise. Nous avons essayé de déduire le lien qui est le suivant : https://ardownload2.adobe.com/pub/adobe/reader/win/AcrobatDC/2400120643/AcroRdrDC2400120643_fr_FR.exe ;
- télécharger l’exécutable de personnalisation d’Adobe ;
- créer le « .msi » final avant personnalisation ;
- lancer un test d’installation du « .msi » sur votre ordinateur.
Voici le programme :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
# Version d'Abobe utile pour le nom du package et des fichiers intermédiaires
$VersionAdobe
=
"2400120643"
# <=========== version à modifier si besoin
$VersionAdobeCustom
=
"2100720091"
# <=========== version à modifier si besoin
# Nom de l'exécutable téléchargé
$ExeNameAdobeEntreprise
=
"AcroRdrDC"
+
$VersionAdobe
+
"_fr_FR.exe"
$ExeNameAdobeCustom
=
"CustWiz"
+
$VersionAdobeCustom
+
"_en_US_DC.exe"
# Dossiers de travail et Création
$DossierPreparation
=
"C:\temp"
$DossierExtraction
=
"
$DossierPreparation
\Extraction"
$DossierFinal
=
"
$DossierPreparation
\Final\
$VersionAdobe
"
$DossierGPOFinal
=
"
$DossierPreparation
\GPO"
# <=========== à modifier si besoin
If
(
!(
test-
path $DossierPreparation
) ) {
New-
Item -ItemType
Directory -F
orce -Path
$DossierPreparation
}
If
(
!(
test-
path $DossierExtraction
) ) {
New-
Item -ItemType
Directory -F
orce -Path
$DossierExtraction
}
If
(
!(
test-
path $DossierFinal
) ) {
New-
Item -ItemType
Directory -F
orce -Path
$DossierFinal
}
# Exécutables téléchargés
$ExeAdobeOrigine
=
"
$DossierPreparation
\
$ExeNameAdobeEntreprise
"
$ExeAdobeCustom
=
"
$DossierPreparation
\
$ExeNameAdobeCustom
"
# Téléchargement de l'exécutable le plus récent si possible
Write-
Output "Téléchargement de
$ExeAdobeOrigine
"
$URLAdobe
=
"https://ardownload2.adobe.com/pub/adobe/reader/win/AcrobatDC/"
+
$VersionAdobe
+
"/AcroRdrDC"
+
$VersionAdobe
+
"_fr_FR.exe"
wget $URLAdobe
-OutFile
$ExeAdobeOrigine
# Téléchargement de l'exécutable de customisation
Write-
Output "Téléchargement de
$ExeAdobeCustom
"
#$ExeCustom = "https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/" + $VersionAdobeCustom + "/" + $ExeNameAdobeCustom
$ExeCustom
=
"https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/misc/"
+
$ExeNameAdobeCustom
wget $ExeCustom
-OutFile
$ExeAdobeCustom
# Extraction dans l'exécutable du MSI et de l'update (cela évite l'utilisation de 7-zip)
If
(
test-
path $ExeAdobeOrigine
) {
$ArgumentExtraction
=
"-sfx_ne -sfx_o"
+
'"'
+
$DossierExtraction
+
'"'
Write-
Output "Extraction des MSI et MSP...dans
$DossierExtraction
"
Start-
Process
-F
ilePath "
$ExeAdobeOrigine
"
-ArgumentList
$ArgumentExtraction
-Wait
-Verb
RunAs
}
else
{
Write-
Output "
$AcroReadMSP
introuvable"
exit
}
# MSI d'extraction et final, MSP d'extraction
$AcroReadMSIExtrait
=
"
$DossierExtraction
\AcroRead.msi"
$AcroReadMSIFinal
=
"
$DossierFinal
\AcroRead.msi"
$AcroReadMSP
=
"
$DossierExtraction
\AcroRdrDCUpd"
+
$VersionAdobe
+
".msp"
# Installation d'Adobe dans le dossier final
If
(
test-
path $AcroReadMSP
) {
Write-
Output "Installation d'Adobe dans le dossier final
$DossierFinal
"
Start-
Process
-F
ilePath "msiexec"
-ArgumentList
" /a
$AcroReadMSIExtrait
TARGETDIR=
$DossierFinal
/qn"
-Wait
-Verb
RunAs
}
else
{
Write-
Output "
$AcroReadMSP
introuvable"
exit
}
# Copie du setup.ini de l'extraction dans notre dossier
$SetupIniExtrait
=
"
$DossierExtraction
\setup.ini"
If
(
test-
path $SetupIniExtrait
) {
Write-
Output "Copie du setup.ini dans
$DossierFinal
"
Copy-
Item $SetupIniExtrait
-Destination
$DossierFinal
}
else
{
Write-
Output "
$SetupIniExtrait
introuvable"
exit
}
# On patch le fichier MSI final issu de l'extraction
Write-
Output "Patch et création du nouveau MSI
$AcroReadMSIFinal
à partir de
$AcroReadMSP
"
Start-
Process
-F
ilePath "msiexec"
-ArgumentList
" /a
$AcroReadMSIFinal
/p
$AcroReadMSP
/qn"
-Wait
-Verb
RunAs
# Tester la validité du patch
If
(
test-
path $AcroReadMSIFinal
) {
If
(
(
Get-
Item $AcroReadMSIExtrait
).Length -gt
(
Get-
Item $AcroReadMSIFinal
).Length ) {
Write-
Output "Le patch de
$AcroReadMSIExtrait
ne s'est pas correctement réalisé"
exit
}
else
{
Write-
Output "
$AcroReadMSIFinal
patché"
}
}
else
{
Write-
Output "AcroReadMSIExtrait introuvable"
exit
}
# Customisation (optionnel)
Write-
Output "Vous pouvez personnaliser
$AcroReadMSIFinal
via le logiciel Acrobat Customization Wizard DC"
$myname
=
read-
host "Appuyez sur la touche Entrée après votre personnalisation (ou non si vous ne souhaitez pas)"
# Installation manuelle sans GPO si customisation
$AcroReadMSIMST
=
"
$DossierFinal
\AcroRead.mst"
If
(
test-
path $AcroReadMSIMST
) {
Write-
Output "Installation manuelle sans GPO d'Adobe, mais avec personnalisation"
Start-
Process
-F
ilePath "msiexec"
-ArgumentList
" /i
$AcroReadMSIFinal
TRANSFORMS=
$AcroReadMSIMST
"
-Wait
}
else
{
Write-
Output "Installation manuelle sans GPO d'Adobe et sans personnalisation"
Start-
Process
-F
ilePath "msiexec"
-ArgumentList
" /i
$AcroReadMSIFinal
"
-Wait
}
# Mise à disposition du dossier final pour la GPO
Write-
Output "Copie des fichiers nécessaires pour la GPO en cours dans
$DossierGPOFinal
"
If
(
!(
test-
path $DossierGPOFinal
) ) {
New-
Item -ItemType
Directory -F
orce -Path
$DossierGPOFinal
}
Copy-
Item $DossierFinal
-Destination
$DossierGPOFinal
-Recurse
-F
orce
If
(
test-
path "
$DossierGPOFinal
\
$VersionAdobe
"
) {
Write-
Output "Le répertoire
$DossierGPOFinal
\
$VersionAdobe
est prêt pour votre GPO"
}
else
{
Write-
Output "Le répertoire
$DossierGPOFinal
\
$VersionAdobe
n'a pas pu être créé"
}
Vous avez juste besoin de modifier le numéro de version dans le programme qui à ce jour est : 2400120643.
Pour exécuter ce programme, lancez l’éditeur « Windows PowerShell ISE » et copiez/collez le programme. Faites la modification de version, sélectionnez tout le code et cliquez sur l’icône « exécuter la sélection » ou « F8 ». Vous passerez outre les problèmes d’activation de code PowerShell.
Vous n’avez plus qu’à vous rendre dans le dossier « :\temp\PreparationAdobe\Final » ou « :\temp\PreparationAdobe\GPO » qui sera créé. C’est simple, en une minute, tout est fait. Vous pouvez maintenant personnaliser ou non votre « .msi ».
À ce jour, voici quelques interrogations sans réponses avec certitude.
- Comment gérer la désinstallation des Adobe Reader présents sur mon parc vu que la GPO n’était pas encore en place à l’époque ?
Étant donné qu’une GPO ne désinstallera que les logiciels qu’elle aura elle-même installés, la seule solution que nous voyons est de faire une autre GPO (script) qui désinstalle Adobe Reader sur tous les postes dont la version est inférieure à 2400120643.
Par la suite, ce ne sera pas utile, car la GPO prendra le relai au fur et à mesure de nos nouvelles versions.
- Comment gérer les futures mises à jour d’Adobe Reader DC ?
Il faut réutiliser le programme ci-dessus et recréer un « .msi », le personnaliser. Puis dans la GPO déjà présente le rajouter en supprimant l’ancienne dans la GPO. Ainsi, la GPO se chargera toute seule de supprimer l’ancienne version sur les ordinateurs.
Tous vos commentaires sur ce tutoriel pour corrections ou améliorations ou remerciements sont les bienvenus : 11 commentaires .
III. Liens utiles▲
- https://www.adobe.com/devnet-docs/acrobatetk/tools/Wizard/index.html.
- http://get.adobe.com/reader/enterprise/.
- https://helpx.adobe.com/enterprise/using/deploying-acrobat.html.
Pour les grands néophytes souhaitant savoir comment créer une GPO pour installer un fichier « .msi » classique, je vous recommande ce tutoriel de Florian B. : Comment déployer un logiciel au format MSI par GPO ?
Tous vos commentaires sur ce tutoriel sont les bienvenus : 11 commentaires .
IV. Remerciements▲
Je remercie chrtophe et ClaudeLELOUP pour la relecture de ce tutoriel.