{"id":298,"date":"2014-09-30T16:36:31","date_gmt":"2014-09-30T14:36:31","guid":{"rendered":"http:\/\/lestfrexgn.cluster020.hosting.ovh.net\/?p=298"},"modified":"2015-04-22T15:41:06","modified_gmt":"2015-04-22T13:41:06","slug":"installshield-active-setup","status":"publish","type":"post","link":"https:\/\/les2t.fr\/en_us\/installshield-active-setup\/","title":{"rendered":"InstallShield &#8211; Active Setup"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-227 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png\" alt=\"f3-logo-flexerasoftware\" width=\"200\" height=\"50\" \/><\/a><\/p>\n<p>Voici un article que vous propose un coll\u00e8gue Thomas RIBEIRO sur l&rsquo;active Setup.<!--more--><\/p>\n<ul>\n<li>1 &#8211; Fonctionnement :<\/li>\n<\/ul>\n<p>Un active Setup est similaire \u00e0 un RunOnce, cela permet de lancer une commande.<br \/>\nLa commande sera lanc\u00e9e une seule fois pour les utilisateurs (existants ou nouveaux) lors de l\u2019ouverture de session.<\/p>\n<p>Les cl\u00e9s de registre \u00e0 mettre en place pour utiliser un ActiveSetup se trouvent dans :<\/p>\n<ul>\n<li><strong>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Active Setup\\Installed Components\\&lt;UID&gt;<\/strong><\/li>\n<\/ul>\n<p>Lors de l\u2019ex\u00e9cution de l\u2019ActiveSetup \u00e0 l\u2019ouverture de session, une cl\u00e9 de registre sera plac\u00e9e dans :<\/p>\n<ul>\n<li><strong>HKEY_CURRENT_USER\\Software\\Microsoft\\Active Setup\\Installed Components\\&lt;UID&gt;<\/strong><\/li>\n<\/ul>\n<p>Si la cl\u00e9 utilisateur existe, l\u2019Active setup ne sera plus jou\u00e9 pour l\u2019utilisateur.<\/p>\n<p>Le &lt;UID&gt; doit \u00eatre unique; il est conseill\u00e9 d\u2019utiliser le GUID (Product Code).<br \/>\nSi l\u2019entr\u00e9e registre n\u2019est pas trouv\u00e9e dans le HKCU, le contenu de la valeur StubPath est alors ex\u00e9cut\u00e9.<br \/>\nLa valeur de StubPath peut correspondre au lancement d\u2019un script, d\u2019une commande DOS, d\u2019un MSI, etc.<\/p>\n<ul>\n<li>2 &#8211; R\u00e9\u00e9criture des entr\u00e9es registre utilisateur<\/li>\n<\/ul>\n<p>Pour r\u00e9\u00e9crire les cl\u00e9s registre utilisateur, il faut r\u00e9parer le msi avec la commande suivante:<\/p>\n<p><em>Msiexec.exe \/fu &lt;ProductCode&gt; \/qn<\/em><br \/>\n<em> \/f &#8211; Repair<\/em><br \/>\n<em> \/u &#8211; all required user-specific registry entries<\/em><br \/>\n<em> \/qn \u2013 Silent mode with no UI.<\/em><\/p>\n<p>Voici en quelques \u00e9tapes, comment cr\u00e9er un active setup avec l\u2019outil InstallShield.<\/p>\n<p><strong>Etape 1 :<\/strong> ouvrir le .msi ou cr\u00e9er un transform et aller dans la section \u2018Registry\u2019<\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-300 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup1-300x233.jpg\" alt=\"activesetup1\" width=\"300\" height=\"233\" srcset=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup1-300x233.jpg 300w, https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup1.jpg 754w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Etape 2 :<\/strong> Cr\u00e9er la cl\u00e9<\/p>\n<ul>\n<li><strong>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Active Setup\\Installed Components\\[ProductCode]<\/strong><\/li>\n<\/ul>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-301 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup2-300x268.jpg\" alt=\"activesetup2\" width=\"300\" height=\"268\" srcset=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup2-300x268.jpg 300w, https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup2.jpg 670w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Note: [ProductCode] est une variable du .msi qui est remplac\u00e9e par la valeur du Product Code lorsque le package est install\u00e9. On peut \u00e9galement nommer la cl\u00e9 avec la valeur du Product Code ou la valeur du Product Name plut\u00f4t que la variable.<br \/>\nPour r\u00e9cup\u00e9rer la valeur du Product Code, aller dans la section \u2018General Information\u2019 :<\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-302 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup3-300x107.jpg\" alt=\"activesetup3\" width=\"300\" height=\"107\" srcset=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup3-300x107.jpg 300w, https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup3.jpg 907w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Etape 3 :<\/strong> Cr\u00e9er une nouvelle valeur de type String et la nommer \u2018StubPath\u2019<\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-303 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup4-300x274.jpg\" alt=\"activesetup4\" width=\"300\" height=\"274\" srcset=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup4-300x274.jpg 300w, https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup4.jpg 1000w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Etape 4 :<\/strong> Double cliquer sur \u2018StubPath\u2019\u00a0 et taper msiexec \/fu [ProductCode] \/qn<\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-304 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup5-300x175.jpg\" alt=\"activesetup5\" width=\"300\" height=\"175\" srcset=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup5-300x175.jpg 300w, https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup5.jpg 957w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Etape 5 :<\/strong> Lorsque l\u2019Active Setup est jou\u00e9, une fen\u00eatre appara\u00eet avec la commande \u00e9crite dans la valeur de StubPath. Pour modifier cet affichage, on peut ajouter, toujours sous InstallShield, la valeur de type \u2018Default Value\u2019 et la param\u00e9trer pour qu\u2019elle soit plus explicite (Dans cet exemple : Configuration de mon logiciel).<\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup6.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-305 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup6.jpg\" alt=\"activesetup6\" width=\"294\" height=\"129\" \/><\/a><\/p>\n<p>N.B. : Dans cet exemple, nous avons repare seulement les entrees registre. pour reparer l\u2019integralite du package, il faut utiliser la commande suivante :<br \/>\n<em>msiexec.exe \/fauvs &lt;prodcutcode&gt; \/qn<\/em><\/p>\n<ul>\n<li>3 &#8211; V\u00e9rification de l&rsquo;ex\u00e9cution<\/li>\n<\/ul>\n<p>Pour v\u00e9rifier que la cl\u00e9 Active Setup s\u2019est bien install\u00e9e, il faut ouvrir l\u2019\u00e9diteur de registre et v\u00e9rifier que la pr\u00e9sence de la cl\u00e9 dans :<br \/>\n<strong>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Active Setup\\Installed Components\\&lt;UID&gt;<\/strong><br \/>\nOu<br \/>\n<strong>HKEY_LOCAL_MACHINE\\SOFTWARE\\ Wow6432Node\\Microsoft\\ Active Setup\\Installed Components\\&lt;UID&gt;<\/strong><\/p>\n<p>Dans la capture ci-dessous, on peut voir que la variable [ProductCode] a bien \u00e9t\u00e9 remplac\u00e9e par le Product Code.<\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup7.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-306 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup7-300x153.jpg\" alt=\"activesetup7\" width=\"300\" height=\"153\" srcset=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup7-300x153.jpg 300w, https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup7.jpg 992w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Pour v\u00e9rifier que la cl\u00e9 s\u2019est bien jou\u00e9e, il faut ouvrir l\u2019\u00e9diteur de registre et v\u00e9rifier la pr\u00e9sence de la cl\u00e9 dans :<br \/>\n<strong>HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Active Setup\\Installed Components\\&lt;UID&gt;<\/strong><br \/>\nOu<br \/>\n<strong>HKEY_CURRENT_USER \\SOFTWARE\\ Wow6432Node\\Microsoft\\ Active Setup\\Installed Components\\&lt;UID&gt;<\/strong><\/p>\n<p><a href=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup8.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-307 aligncenter\" src=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup8-300x192.jpg\" alt=\"activesetup8\" width=\"300\" height=\"192\" srcset=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup8-300x192.jpg 300w, https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/activesetup8.jpg 781w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<ul>\n<li>4 &#8211; Supprimer un active Setup<\/li>\n<\/ul>\n<p>Cr\u00e9er une custom action de d\u00e9sinstallation et ins\u00e9rer le code suivant en l\u2019adaptant \u00e0 vos besoins (il suffit de modifier le product code {B4C18CC8-B2B6-4083-8FBE-7ED35A5CFA5E} par le votre).<\/p>\n<p><code><br \/>\n<span style=\"color: #339966;\">'DeleteActiveSetup\u2002\"{B4C18CC8-B2B6-4083-8FBE-7ED35A5CFA5E}\"<\/span><br \/>\n<span style=\"color: #339966;\"> 'Fonctions<\/span><br \/>\n<span style=\"color: #339966;\"> 'Fonction\u2002delete\u2002active\u2002setup<\/span><br \/>\n<span style=\"color: #3366ff;\">Sub\u2002<\/span>DeleteActiveSetup(KeyName)<br \/>\n<span style=\"color: #3366ff;\">Const\u2002<\/span>HKEY_LOCAL_MACHINE\u2002=\u2002<span style=\"color: #ff0000;\">&amp;H80000002<\/span><br \/>\n<span style=\"color: #3366ff;\">Const\u2002<\/span>HKEY_USERS\u2002=\u2002<span style=\"color: #ff0000;\">&amp;H80000003<\/span><br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>objFSO\u2002=\u2002CreateObject(\"Scripting.FileSystemObject\")<br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>objReg=GetObject(\"winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default:StdRegProv\")<br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>WshShell\u2002=\u2002CreateObject(\"WScript.Shell\")<br \/>\nstrKeyPath\u2002=\u2002\"\"<br \/>\nobjReg.EnumKey\u2002HKEY_USERS,\u2002strKeyPath,\u2002arrSubKeys<br \/>\n<span style=\"color: #339966;\">'V\u00e9rification\u2002du\u2002type\u2002de\u2002processeur<\/span><br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>Get_TypeOS=\"x64\"\u2002<span style=\"color: #3366ff;\">Then<\/span><br \/>\nKeyPath\u2002=\u2002\"\\Software\\Wow6432Node\\Microsoft\\Active\u2002Setup\\Installed\u2002Components\\\"\u2002&amp;\u2002KeyName<br \/>\n<span style=\"color: #3366ff;\">Else<\/span><br \/>\nKeyPath\u2002=\u2002\"\\Software\\Microsoft\\Active\u2002Setup\\Installed\u2002Components\\\"\u2002&amp;\u2002KeyName<br \/>\n<span style=\"color: #3366ff;\">End\u2002If<\/span><br \/>\n<span style=\"color: #339966;\">'Liste\u2002de\u2002tous\u2002les\u2002profils\u2002dans\u2002la\u2002HKEY_USERS<\/span><br \/>\n<span style=\"color: #3366ff;\">For\u2002Each\u2002<\/span>subkey\u2002<span style=\"color: #3366ff;\">In\u2002<\/span>arrSubKeys<br \/>\n<span style=\"color: #339966;\">'Suppression\u2002des\u2002profils\u2002locaux\u2002et\u2002\"Classes\"<\/span><br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>(InStr(subkey,\u2002\"S-1-5-21-\")&gt;0\u2002<span style=\"color: #3366ff;\">And\u2002<\/span>InStr(subkey,\u2002\"Classes\")=0)\u2002<span style=\"color: #3366ff;\">Then<\/span><br \/>\nstrKeyPath\u2002=\u2002subkey\u2002&amp;\u2002KeyPath<br \/>\n<span style=\"color: #339966;\">'Suppression\u2002de\u2002la\u2002cl\u00e9<\/span><br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>VerifRegKeyExist(\"HKEY_USERS\\\"\u2002&amp;\u2002strKeyPath)\u2002=\u20020\u2002<span style=\"color: #3366ff;\">Then\u2002<\/span>WshShell.Run\u2002\"REG\u2002DELETE\u2002\"\u2002&amp;\u2002<span style=\"color: #3366ff;\">chr<\/span>(34)\u2002&amp;\u2002\"HKEY_USERS\\\"\u2002&amp;\u2002strKeyPath\u2002&amp;\u2002<span style=\"color: #3366ff;\">Chr<\/span>(34)\u2002&amp;\"\u2002\/f\",0,True\u2002<span style=\"color: #3366ff;\">End\u2002If\u2002<\/span>\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002<span style=\"color: #3366ff;\">\u2002End\u2002If<\/span><br \/>\n<span style=\"color: #3366ff;\">Next<\/span><br \/>\n<span style=\"color: #339966;\">'Recuperation\u2002du\u2002chemin\u2002o\u00f9\u2002se\u2002trouvent\u2002les\u2002profils\u2002utilisateurs<\/span><br \/>\nstrProfilePath\u2002=\u2002\"SOFTWARE\\Microsoft\\Windows\u2002NT\\CurrentVersion\\ProfileList\"<br \/>\nstrValueName\u2002=\u2002\"ProfilesDirectory\"<br \/>\nobjReg.GetStringValue\u2002HKEY_LOCAL_MACHINE,strProfilePath,strValueName,strValueProfile<br \/>\nProfilesDirectory\u2002=\u2002strValueProfile<br \/>\n<span style=\"color: #339966;\">'Parcours\u2002des\u2002dossiers\u2002utilisateurs\u2002pour\u2002monter\u2002leur\u2002ruche<\/span><br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>objFolder\u2002=\u2002objFSO.GetFolder(ProfilesDirectory)<br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>colSubfolders\u2002=\u2002objFolder.SubFolders<br \/>\nPath2=\"\\NTUSER.DAT\"<br \/>\n<span style=\"color: #3366ff;\">For\u2002Each\u2002<\/span>objSubfolder\u2002<span style=\"color: #3366ff;\">in\u2002<\/span>colSubfolders<br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>objFSO.FileExists(objSubFolder.Path\u2002&amp;\u2002Path2)\u2002<span style=\"color: #3366ff;\">Then<\/span><br \/>\n<span style=\"color: #339966;\">'Chargement\u2002de\u2002la\u2002ruche\u2002dans\u2002l'arborescence\u2002HKEY_USERS\\Temp<\/span><br \/>\nWshShell.Run\u2002\"REG\u2002LOAD\u2002HKEY_USERS\\Temp\u2002\"\u2002&amp;\u2002objSubFolder.Path\u2002&amp;\u2002Path2,0,<span style=\"color: #3366ff;\">True<\/span><br \/>\n<span style=\"color: #339966;\">'Modifications<\/span><br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>VerifRegKeyExist(\"HKEY_USERS\\Temp\"\u2002&amp;\u2002KeyPath)\u2002=\u20020\u2002<span style=\"color: #3366ff;\">Then\u2002\u2002<\/span>WshShell.Run\u2002\"REG\u2002DELETE\u2002\"\u2002&amp;\u2002<span style=\"color: #3366ff;\">chr<\/span>(34)\u2002&amp;\u2002\"HKEY_USERS\\Temp\"\u2002&amp;\u2002KeyPath\u2002&amp;\u2002<span style=\"color: #3366ff;\">chr<\/span>(34)\u2002&amp;\u2002\"\u2002\/f\",0,<span style=\"color: #3366ff;\">True\u2002End\u2002if<\/span><br \/>\n<span style=\"color: #339966;\">'Dechargement\u2002de\u2002la\u2002ruche<\/span><br \/>\nWshShell.Run\u2002\"REG\u2002UNLOAD\u2002HKEY_USERS\\Temp\u2002\",0,<span style=\"color: #3366ff;\">True<\/span><br \/>\n<span style=\"color: #3366ff;\">End\u2002If<\/span><br \/>\n<span style=\"color: #3366ff;\"> Next<\/span><br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>objFSO\u2002=\u2002<span style=\"color: #3366ff;\">Nothing<\/span><br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>objReg\u2002=\u2002<span style=\"color: #3366ff;\">Nothing<\/span><br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>WshShell\u2002=\u2002<span style=\"color: #3366ff;\">Nothing<\/span><br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>objFolder\u2002=\u2002<span style=\"color: #3366ff;\">Nothing<\/span><br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>colSubfolders\u2002=\u2002<span style=\"color: #3366ff;\">Nothing<\/span><br \/>\n<span style=\"color: #3366ff;\">End\u2002Sub<\/span><br \/>\n<span style=\"color: #339966;\">'Fonction\u2002pour\u2002verifier\u2002la\u2002presence\u2002d'une\u2002cle<\/span><br \/>\n<span style=\"color: #3366ff;\">Function\u2002<\/span>VerifRegKeyExist(path)<br \/>\n<span style=\"color: #3366ff;\">Const\u2002<\/span>HKEY_CLASSES_ROOT\u2002=\u2002<span style=\"color: #ff0000;\">&amp;H80000000<\/span><br \/>\n<span style=\"color: #3366ff;\">Const\u2002<\/span>HKEY_CURRENT_USER\u2002=\u2002<span style=\"color: #ff0000;\">&amp;H80000001<\/span><br \/>\n<span style=\"color: #3366ff;\">Const\u2002<\/span>HKEY_LOCAL_MACHINE\u2002=\u2002<span style=\"color: #ff0000;\">&amp;H80000002<\/span><br \/>\n<span style=\"color: #3366ff;\">Const\u2002<\/span>HKEY_USERS\u2002=\u2002<span style=\"color: #ff0000;\">&amp;H80000003<\/span><br \/>\n<span style=\"color: #3366ff;\">Const\u2002<\/span>HKEY_CURRENT_CONFIG\u2002=\u2002<span style=\"color: #ff0000;\">&amp;H80000005<\/span><br \/>\nVerifRegKeyExist\u2002=\u20020<br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>oReg=<span style=\"color: #3366ff;\">GetObject<\/span>(\"winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default:StdRegProv\")<br \/>\nHKEYType\u2002=\u2002<span style=\"color: #3366ff;\">Mid<\/span>(path,1,<span style=\"color: #3366ff;\">InStr<\/span>(path,\u2002\"\\\")-1)<br \/>\nKeyName\u2002=\u2002<span style=\"color: #3366ff;\">Mid<\/span>(path,<span style=\"color: #3366ff;\">InStrRev<\/span>(path,\u2002\"\\\")+1,<span style=\"color: #3366ff;\">Len<\/span>(path))<br \/>\nHKEYpath\u2002=\u2002<span style=\"color: #3366ff;\">Split<\/span>(path,\"\\\")<br \/>\n<span style=\"color: #3366ff;\">Select\u2002Case<\/span>\u2002HKEYType<br \/>\n<span style=\"color: #3366ff;\">Case\u2002<\/span>\"HKEY_CLASSES_ROOT\"\u2002\u2002\u2002\u2002HKEY\u2002=\u2002HKEY_CLASSES_ROOT<br \/>\n<span style=\"color: #3366ff;\">Case\u2002<\/span>\"HKEY_CURRENT_USER\"\u2002\u2002\u2002\u2002HKEY\u2002=\u2002HKEY_CURRENT_USER<br \/>\n<span style=\"color: #3366ff;\">Case\u2002<\/span>\"HKEY_LOCAL_MACHINE\"\u2002\u2002\u2002HKEY\u2002=\u2002HKEY_LOCAL_MACHINE<br \/>\n<span style=\"color: #3366ff;\">Case\u2002<\/span>\"HKEY_USERS\"\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002HKEY\u2002=\u2002HKEY_USERS<br \/>\n<span style=\"color: #3366ff;\">Case\u2002<\/span>\"HKEY_CURRENT_CONFIG\"\u2002\u2002HKEY\u2002=\u2002HKEY_CURRENT_CONFIG<br \/>\n<span style=\"color: #3366ff;\">Case\u2002Else<\/span><br \/>\nVerifRegKeyExist\u2002=\u2002-1<br \/>\n<span style=\"color: #3366ff;\">Exit\u2002Function<\/span><br \/>\n<span style=\"color: #3366ff;\"> End\u2002Select<\/span><br \/>\nstrKeyPathSearch\u2002=\u2002\"\"<br \/>\nstrKeyPath\u2002=\u2002\"\"<br \/>\nj\u2002=\u20020<br \/>\n<span style=\"color: #3366ff;\">For\u2002<\/span>i=1\u2002<span style=\"color: #3366ff;\">To\u2002UBound<\/span>(HKEYpath)\u2002<span style=\"color: #3366ff;\">Step\u2002<\/span>1<br \/>\noReg.EnumKey\u2002HKEY,\u2002strKeyPath,\u2002arrSubKeys<br \/>\n<span style=\"color: #3366ff;\">For\u2002Each<\/span>\u2002subkey\u2002<span style=\"color: #3366ff;\">In\u2002<\/span>arrSubKeys<br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>subkey\u2002=\u2002HKEYpath(i)\u2002<span style=\"color: #3366ff;\">Then<\/span><br \/>\nj\u2002=\u2002j\u2002+\u20021<br \/>\n<span style=\"color: #3366ff;\">End\u2002If<\/span><br \/>\n<span style=\"color: #3366ff;\"> Next<\/span><br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>(i\u2002&gt;\u2002j)\u2002<span style=\"color: #3366ff;\">Then<\/span><br \/>\nVerifRegKeyExist\u2002=\u2002-1<br \/>\n<span style=\"color: #3366ff;\">Exit\u2002Function<\/span><br \/>\n<span style=\"color: #3366ff;\">End\u2002If<\/span><br \/>\nstrKeyPathSearch\u2002=\u2002strKeyPathSearch\u2002&amp;\u2002\"\\\"\u2002&amp;\u2002HKEYpath(i)<br \/>\nstrKeyPath\u2002=\u2002<span style=\"color: #3366ff;\">Mid<\/span>(strKeyPathSearch,2,<span style=\"color: #3366ff;\">Len<\/span>(strKeyPathSearch))<br \/>\n<span style=\"color: #3366ff;\">Next<\/span><br \/>\n<span style=\"color: #3366ff;\"> End\u2002Function<\/span><br \/>\n<span style=\"color: #339966;\">'Fonction\u2002pour\u2002recuperer\u2002l'architecture\u2002processeur<\/span><br \/>\n<span style=\"color: #3366ff;\">Function\u2002<\/span>Get_TypeOS()<br \/>\n<span style=\"color: #3366ff;\">Set\u2002<\/span>WshShell\u2002=\u2002<span style=\"color: #3366ff;\">CreateObject<\/span>(\"WScript.Shell\")<br \/>\nOsType\u2002=\u2002WshShell.RegRead(\"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session\u2002Manager\\Environment\\PROCESSOR_ARCHITECTURE\")<br \/>\n<span style=\"color: #3366ff;\">If\u2002<\/span>OsType\u2002=\u2002\"x86\"\u2002<span style=\"color: #3366ff;\">then<\/span><br \/>\nGet_TypeOS\u2002=\u2002\"x86\"<br \/>\n<span style=\"color: #3366ff;\">elseif<\/span>\u2002OsType\u2002=\u2002\"AMD64\"\u2002<span style=\"color: #3366ff;\">then<\/span><br \/>\nGet_TypeOS\u2002=\u2002\"x64\"<br \/>\n<span style=\"color: #3366ff;\">end\u2002If<\/span><br \/>\n<span style=\"color: #3366ff;\">End\u2002Function<\/span><br \/>\n<\/code><\/p>\n<p><code>\u00a0<\/code><\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp; Voici un article que vous propose un coll\u00e8gue Thomas RIBEIRO sur l&rsquo;active Setup.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[10],"tags":[18,17,19],"class_list":["post-298","post","type-post","status-publish","format-standard","hentry","category-installshield-et-adminstudio","tag-adminstudio","tag-installshield","tag-msi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>InstallShield - Active Setup - Les2T<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/les2t.fr\/en_us\/installshield-active-setup\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"InstallShield - Active Setup - Les2T\" \/>\n<meta property=\"og:description\" content=\"&nbsp; Voici un article que vous propose un coll\u00e8gue Thomas RIBEIRO sur l&rsquo;active Setup.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/les2t.fr\/en_us\/installshield-active-setup\/\" \/>\n<meta property=\"og:site_name\" content=\"Les2T\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-30T14:36:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-04-22T13:41:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png\" \/>\n<meta name=\"author\" content=\"TRARBACH Jean-Yves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TRARBACH Jean-Yves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/les2t.fr\/installshield-active-setup\/\",\"url\":\"https:\/\/les2t.fr\/installshield-active-setup\/\",\"name\":\"InstallShield - Active Setup - Les2T\",\"isPartOf\":{\"@id\":\"https:\/\/les2t.fr\/fr_fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/les2t.fr\/installshield-active-setup\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/les2t.fr\/installshield-active-setup\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png\",\"datePublished\":\"2014-09-30T14:36:31+00:00\",\"dateModified\":\"2015-04-22T13:41:06+00:00\",\"author\":{\"@id\":\"https:\/\/les2t.fr\/fr_fr\/#\/schema\/person\/d96bb4f512f9aeb12dc923def245768e\"},\"breadcrumb\":{\"@id\":\"https:\/\/les2t.fr\/installshield-active-setup\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/les2t.fr\/installshield-active-setup\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/les2t.fr\/installshield-active-setup\/#primaryimage\",\"url\":\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png\",\"contentUrl\":\"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/les2t.fr\/installshield-active-setup\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/les2t.fr\/fr_fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"InstallShield &#8211; Active Setup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/les2t.fr\/fr_fr\/#website\",\"url\":\"https:\/\/les2t.fr\/fr_fr\/\",\"name\":\"Les2T\",\"description\":\"| BLOG  IT |\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/les2t.fr\/fr_fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/les2t.fr\/fr_fr\/#\/schema\/person\/d96bb4f512f9aeb12dc923def245768e\",\"name\":\"TRARBACH Jean-Yves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/les2t.fr\/fr_fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/les2t.fr\/wp-content\/uploads\/2023\/02\/JeanYvestrarbach-96x96.jpg\",\"contentUrl\":\"https:\/\/les2t.fr\/wp-content\/uploads\/2023\/02\/JeanYvestrarbach-96x96.jpg\",\"caption\":\"TRARBACH Jean-Yves\"},\"description\":\"Head Of Modern Workplace Metsys MVP Windows &amp; devices For IT\",\"sameAs\":[\"https:\/\/les2t.fr\/jean-yves-trarbach\/\"],\"url\":\"https:\/\/les2t.fr\/en_us\/author\/kounac\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"InstallShield - Active Setup - Les2T","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/les2t.fr\/en_us\/installshield-active-setup\/","og_locale":"en_US","og_type":"article","og_title":"InstallShield - Active Setup - Les2T","og_description":"&nbsp; Voici un article que vous propose un coll\u00e8gue Thomas RIBEIRO sur l&rsquo;active Setup.","og_url":"https:\/\/les2t.fr\/en_us\/installshield-active-setup\/","og_site_name":"Les2T","article_published_time":"2014-09-30T14:36:31+00:00","article_modified_time":"2015-04-22T13:41:06+00:00","og_image":[{"url":"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png","type":"","width":"","height":""}],"author":"TRARBACH Jean-Yves","twitter_card":"summary_large_image","twitter_misc":{"Written by":"TRARBACH Jean-Yves","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/les2t.fr\/installshield-active-setup\/","url":"https:\/\/les2t.fr\/installshield-active-setup\/","name":"InstallShield - Active Setup - Les2T","isPartOf":{"@id":"https:\/\/les2t.fr\/fr_fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/les2t.fr\/installshield-active-setup\/#primaryimage"},"image":{"@id":"https:\/\/les2t.fr\/installshield-active-setup\/#primaryimage"},"thumbnailUrl":"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png","datePublished":"2014-09-30T14:36:31+00:00","dateModified":"2015-04-22T13:41:06+00:00","author":{"@id":"https:\/\/les2t.fr\/fr_fr\/#\/schema\/person\/d96bb4f512f9aeb12dc923def245768e"},"breadcrumb":{"@id":"https:\/\/les2t.fr\/installshield-active-setup\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/les2t.fr\/installshield-active-setup\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/les2t.fr\/installshield-active-setup\/#primaryimage","url":"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png","contentUrl":"https:\/\/les2t.fr\/wp-content\/uploads\/2014\/09\/f3-logo-flexerasoftware.png"},{"@type":"BreadcrumbList","@id":"https:\/\/les2t.fr\/installshield-active-setup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/les2t.fr\/fr_fr\/"},{"@type":"ListItem","position":2,"name":"InstallShield &#8211; Active Setup"}]},{"@type":"WebSite","@id":"https:\/\/les2t.fr\/fr_fr\/#website","url":"https:\/\/les2t.fr\/fr_fr\/","name":"Les2T","description":"| BLOG  IT |","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/les2t.fr\/fr_fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/les2t.fr\/fr_fr\/#\/schema\/person\/d96bb4f512f9aeb12dc923def245768e","name":"TRARBACH Jean-Yves","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/les2t.fr\/fr_fr\/#\/schema\/person\/image\/","url":"https:\/\/les2t.fr\/wp-content\/uploads\/2023\/02\/JeanYvestrarbach-96x96.jpg","contentUrl":"https:\/\/les2t.fr\/wp-content\/uploads\/2023\/02\/JeanYvestrarbach-96x96.jpg","caption":"TRARBACH Jean-Yves"},"description":"Head Of Modern Workplace Metsys MVP Windows &amp; devices For IT","sameAs":["https:\/\/les2t.fr\/jean-yves-trarbach\/"],"url":"https:\/\/les2t.fr\/en_us\/author\/kounac\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/posts\/298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/comments?post=298"}],"version-history":[{"count":0,"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/posts\/298\/revisions"}],"wp:attachment":[{"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/media?parent=298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/categories?post=298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/les2t.fr\/en_us\/wp-json\/wp\/v2\/tags?post=298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}