Video Screencast Help

Need to change HKey_Current_User setting

Created: 23 Nov 2009 • Updated: 06 Jul 2010 | 7 comments

Hello Everyone,

first, this is my first time posting on this forum, so my question might be in the wrong place. Sorry :(

I have an MSI package wich changes the registry on the hkey_current_user. When I push the package using Altiris with Altiris Privileged account it installs successfully but no changes are done under the current user profilie (which makes sense). If I push it using the Current Logged On User account I get an error - User doesn't have privileges to install/ change registry (which is what we want on our environmnet.
How do I push this MSI to make the necessary registry settings as the current user whithout making them local admin?

Any ideas or directions?

Thanks in advance

Comments 7 CommentsJump to latest comment

jharings's picture

used the command line option to include ALLUSERS=1?

Jim Harings
HP Enterprise Services
1st Rule of Connect Club: Mark the post that helped you the most as a 'solution'. 2nd Rule of Connect Club:You must talk about Connect club.

Alba_Soul's picture

Thanks for your reply Jim

I did add the    ALLUSERSS=1 but still can't see the changes. Here is what the command looks like

msiexec.exe /i "MicrosoftFixit50098.msi" /qn ALLUSERS=1

How do I modify the MSI package to default to all users?

Thanks again

mclemson's picture

Try ALLUSERS=2ALLUSERS is dependant upon operating system.
ALLUSERS Property reference, MSDN:
http://msdn.microsoft.com/en-us/library/aa367559%28VS.85%29.aspx

Alternative: Write a script
Something like this, maybe, which would run on logon for each user, loading (opening) the user's ntuser.dat (the hive for the HKCU portions of the registry), modify it, and then unload (save) it.

  • reg.exe load HKU\MountUser C:\Documents and Settings\%username%\ntuser.dat
  • reg.exe add HKU\MountUser\Software\Microsoft\Windows\CurrentVersion\Internet Settings /v MaxConnectionsPer1_0Server /t REG_DWORD /d 10
  • reg.exe add HKU\MountUser\Software\Microsoft\Windows\CurrentVersion\Internet Settings /v MaxConnectionsPerServer /t REG_DWORD /d 10
  • reg.exe unload HKU\MountUser

Alternative: Group Policy
The KB provides an alternative -- use Group Policy.
http://support.microsoft.com/kb/282402

How to configure the connection limit by using Group Policy

  1. Click Start, click Run, type gpedit.msc, and then click OK.
  2. Expand User Configuration, expand Administrative Templates, expand Windows Components, expand Internet Explorer, expand Security Features, and then expand AJAX.
  3. Set the Maximum number of connections per server (HTTP 1.0) and Maximum number of connections per server (HTTP 1.1) options to the settings that you want. You must update policies or restart the computer to apply these changes.

Mike Clemson, Senior Systems Engineer, ASC
Intuitive Technology Group -- Symantec Platinum Partner
intuitivetech.com

fabian.szalatnay's picture

Use ActiveSetup technology in your MSI! Do not import just Current_User Keys in your setups, that makes no sense because the user running setup is usually not the user using the software. And what do you do, if there are several users working with the same computer?

That's why there is ActiveSetup :-)
You can even use ActiveSetup without working with MSI. You just need the following RegKey:

[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\YourSoftwareNameHere]
"Version"="1"
"StubPath"="c:\windows\ScriptThatImportsUserKeys.cmd"

At user's login, windows just compares the above HKLM-Key with the same HKCU-Key. If there is no key with the same name and version, windows copies the key from HKLM to HKCU and runs the stubpath in the user's context.
If there is the same key and version in the user's registry, windows will do nothing.

If you need to kick off the script again on all machines/userprofiles, just raise the "version" in HKLM on all machines. Be careful not to use the dot but the comma as decimal delimiter........--> 1,1

http://www.appdeploy.com/articles/activesetup.asp
or do a Google search.

Big advantage of this: the script will run AFTER the user's login, but BEFORE the initialization of the user's desktop. I'm using this to "inject" all the regkeys to configure the look & feel of windows. All the settings are active at user's first logon....

Fabian Szalatnay | FYRE Consulting AG | http://www.fyre-consulting.ch

Brandon's picture

Activesetup should be used in cases when there is no advertised entry point (like a shortcut, or a file extension association). If this is your scenario use Activesetup as mentioned above.

If you have created this package or you have an advertised entry point to it, then your package wasn't built properly. If the feature in the package which houses the HKCU keys is the parent to the other features in the msi, self-healing would trigger upon clicking the entry point (i.e. the dummy shortcut on the desktop placed there by ALLUSERS=1) and populate the HKCU keys.

Read this for more info: http://ewall.org/index.php?module=ContentExpress&func=print&ceid=23

KSchroeder's picture

Based on teh MSI name Alba posted above, it seems like this is a Microsoft FixIt MSI that it not going to be easily modifed.  In this case I would either create a transform on it to launch a custom action to install the ActiveSetup registry keys as Fabian suggests...or set the SWD task to "Run as logged on user" and "Run once for each logged on user".  It is kind of an ugly way to do it, but it works.  You do have to leave the Task active forever though which is a downside; if you drop the ActiveSetup keys then each user who logs on (including new users, or any user who is logged on when the MSI installs, at next reboot/logoff they will get the settings too.

Thanks,
Kyle
Symantec Trusted Advisor

For Forum threads, please click "Mark as Solution" if answered.
For all content, please give a thumbs up if you agree with or support the post.

wuzfuzzy's picture

MicrosoftFixit50098.msi is fix from Microsoft to increase IE download connections:
http://support.microsoft.com/kb/282402

You could simply deployment using the keys below:

To increase the number of files that you can download at one time to 10, follow these steps:

  1. Start Registry Editor.
  2. Locate the following key in the registry:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  3. On the Edit menu, point to New, click DWORD Value, and then add the following registry values:
    Value name: MaxConnectionsPer1_0Server
    Value data: 10
    Base: Decimal

    Value Name: MaxConnectionsPerServer
    Value data: 10
    Base: Decimal

  4. Exit Registry Editor.

Internet Explorer 8.0

loadTOCNode(2, 'resolution');

How to configure the connection limit by modifying a registry key

loadTOCNode(3, 'resolution');

  1. Start Registry Editor.
  2. Locate the following key in the registry:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_MAXCONNECTIONSPERSERVER
  3. On the Edit menu, point to New, click DWORD Value, and then add the following registry values:
    Value name: iexplore.exe
    Value data: 10
    Base: Decimal

    Note set this value to the connection limit that you want for HTTP 1.1 connections. By setting the value to 10, you increase the connection limit to 10.

  4. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_MAXCONNECTIONSPER1_0SERVER
  5. On the Edit menu, point to New, click DWORD Value, and then add the following registry values:
    Value name: iexplore.exe
    Value data: 10
    Base: Decimal

    Note set this value to the connection limit that you want for HTTP 1.1 connections. By setting the value to 10, you increase the connecti

Lee Wilburn
Suzlon Wind Energy
If your question has been resolved, please click "Mark as Solution"! Thank you. Hope it helps!