My sample: Settings for a Proxy server to IE, using MSI Editor from Wise Express (current DS 6.9).
This article is mainly for beginners in customization & repackaging, or for those do not want to be "packager" but need to do a little. This is taking a sample for IE setup a proxy, but you can apply for any configuration where you must change the "current user" registry.
E.g. to configure the Proxy settings for Internet Explorer, and use the server 192.168.100.200. Easy to find: http://support.microsoft.com/kb/819961, this seems very simple: just change the registry (HKCU = HKEY_CURRENT_USER). It is:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyServer"="192.168.100.200:8080"
"ProxyOverride"="<local>"
Well, but now the problem is: the HKCU is volatile & must repeat for each user logged in… Did you already live this nightmare? (leave me a feedback)
Did you think you must create & setup a GPO to configure the proxy settings for IE? That’s not necessary, we can use “Active Setup”, that I will not explain: you can go those articles to see:
Not so easy to find in MSDN or TechNet, stop loosing your time searching…
To be honest, it is not more simple than creating a GPO... But if you want to keep a track what's happen on PCs, with a clear reporting all the well/bad installations, that is not easy with GPO. Also GPO's "Adm" file already exist for IE, but not for all, & perhaps must create one. Regarding IE, the best practice should be to use a PAC file (auto detect). Most often, for changing HKCU hive registry your are using login script ! But how to include those update in your standard MSI deployment process? It is the subject of this article:
How we can build user custom profile data without GPO, using "Active Setup" registry:
Requirement: Having Symantec Altiris
- Client Management Suite
- or Deployment Solution
- or Wise Package Studio.
1st Create a package with this HKCU registry data:
- Open Wise MSI editor
(From DS console in the toolbar icon, or go the DS exPress share <DS>\eXpress\Wise Packager\WFWI.EXE)
- Create a new Package, save it as WSI file on your prefered working well backuped folder.
- Configure the package
- Name, Manufacturer (yourself), Your package version,
- don't miss the directory, all the same nothing to copy
(use [change] button)
- General information: yes you should makes some comment !
- Add/Remove:
- Do not display, is the best choice most of the time.
- Registry: here we are!
- Create a text file with the previous HKCU registry (save as ".reg" file)
- on HKEY_CURRENT_USER, "Import from .REG file..."
- Important: under "Administrator Options"
- select "Per-Machine" + check "Reinstall all Per-user based registry keys"
2nd: Save, test & copy the package GUID to create Active setup registry part into the same package.
- save, compile & test (click "Run" on the lower right, a well hidden button)
- verify your current registry is well modify & IE setting operationnal
(only for the current user, must be local admin)
- Notice: you can uninstall running cmd below:
msiexec /x {<replace with GUID below>}
- click on "Project Summary" and select the Product Code GUID: "Copy" in the clipboard.
- open NOTEPAD, paste your product code
- copy/paste entries below (yes, with comma in the version...)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{DA81F89B-B341-43ED-8ACB-A086A1196AB1}]
@="Configure the Proxy Server for IE"
ComponentID="ProxyIE_setup_03"
StubPath=C:\windows\system32\msiexec.exe /fu {DA81F89B-B341-43ED-8ACB-A086A1196AB1} /q
Version="1,0,3"
replace the bold GUID and data with your own
- save as a ".REG" file (it is the "active setup" part of the registry)
- Go back to the Registry part your Wise package
- Import this .REG under HKLM
- Notice: Wise substitute nicely "C:\windows\system32\" with the [SystemFolder] variable
- Compile => take the MSI & put in your distribution folder
- Deploy the package (manually, DS, NS, script, others... no care: except must be run under local admin rights, of course :)
msiexec /i "MyPackageToSetupProxyForIE.msi" /quiet
3rd: On clients:
- Restart? Should not be necessary, but logoff/logon must be done!
- You can also run a repair to force without logoff (see at the end this article)
- When login each user the 1st time on the computer: there is a quick display
("configure user settings": with your own @ text display)
4th: Additionnal Tricks
- You can report or create "Dynamic computers collection" based the Add/Remove program inventory
(from Hardware Inventory in NS)
- Same for DS "Get Inventory" (connect the "eXpress" base using ODBC):
- You can activate manual "repair" or "uninstall", by providing following deployment task commands (best use package GUID, not MSI):
- Uninstall: /passive (use for a manual run) or /quiet (for silent, use system account)
msiexec /x {<replace with GUID>} /passive
-
- Repair: This command permit to force apply settings the current user without needing to reboot (program option: "logged in user", and use a Sequential delivery task :)
msiexec /fup {<replace with GUID>} /passive
- Do not:
- Do not use %systemdrive% or such in the Active setup registry,
- Do not large deploy without testing it on 30 clients 1 week!
- ...
- I must also say I still got a problem, the removal is not working very well:
- The "Active setup" registry is not removed for all and other users keep HKCU registry settings as it was :-(
- Any update & feedback are welcomes ;-)
Below I attach a PDF version for those having problem with my google screen shots
Enjoy & goog luck ;-)
Mars 2009 - Pascal KOTTÉ