VISTA and Windows Installer ALLUSERS property....

  • Thread starter Thread starter Superfreak3
  • Start date Start date
S

Superfreak3

I've read in several places that for VISTA installations, ALLUSERS
should be set to 1 and the User Information dialog bypassed on Vista.
I just want to examine what I should do in prepping for VISTA.

Currently with our installation, if a Standard User tries to install
with UAC disabled, the installation fails due to lack of privileges to
\Program Files, etc. During the UI, the controls on the User
Information dialog are not displayed as the installing user is not
Privileged. This seems to be an out-of-the-box condition in our
authoring tool

If I install as Admin, all OK, or if UAC is enabled all is OK if Admin
or if credentials are supplied.

It's easy enough to do I would think. I could possibly condition the
dialog with VersionNT<>600 and set the property with a Custom Action
or possibly on the next button on the install dialog. If I do set
ALLUSERS to 1, that would basically suggest that all would have to be
Admin to install. When I tested this as a Standard User, no UAC,
ALLUSERS=1, the install errored and none too gracefully. The log
didn't really point to anything much either. I would have suspected a
permissions message of some kind.

Any thoughts, pointers would be Greatly Appreciated!
 
I've read in several places that for VISTA installations,ALLUSERS
should be set to 1 and the User Information dialog bypassed on Vista.
I just want to examine what I should do in prepping for VISTA.

Currently with our installation, if a Standard User tries to install
with UAC disabled, the installation fails due to lack of privileges to
\Program Files, etc. During the UI, the controls on the User
Information dialog are not displayed as the installing user is not
Privileged. This seems to be an out-of-the-box condition in our
authoring tool

If I install as Admin, all OK, or if UAC is enabled all is OK if Admin
or if credentials are supplied.

It's easy enough to do I would think. I could possibly condition the
dialog with VersionNT<>600 and set the property with a Custom Action
or possibly on the next button on the install dialog. If I do setALLUSERSto 1, that would basically suggest that all would have to be
Admin to install. When I tested this as a Standard User, no UAC,ALLUSERS=1, the install errored and none too gracefully. The log
didn't really point to anything much either. I would have suspected a
permissions message of some kind.

Any thoughts, pointers would be Greatly Appreciated!

I've just found this from Microsoft, but I guess it really doesn't
amount much to a recommendation....


"Windows Vista: Windows Installer version 4.0 complies with User
Account Control (UAC). If the user has user access privileges, and
ALLUSERS=2, the installer performs a per-machine installation only if
Admin credentials are provided to the UAC dialog box. If UAC is
enabled and the correct Admin credentials are not provided, the
installation fails with an error stating that administrator privileges
are required. If UAC is disabled by the registry key, group policy, or
the control panel, the UAC dialog box is not displayed and the
installation fails with an error stating that administrator privileges
are required."
 
I've just found this from Microsoft, but I guess it really doesn't
amount much to a recommendation....

"Windows Vista: Windows Installer version 4.0 complies with User
Account Control (UAC). If the user has user access privileges, andALLUSERS=2, the installer performs a per-machine installation only if
Admin credentials are provided to the UAC dialog box. If UAC is
enabled and the correct Admin credentials are not provided, the
installation fails with an error stating that administrator privileges
are required. If UAC is disabled by the registry key, group policy, or
the control panel, the UAC dialog box is not displayed and the
installation fails with an error stating that administrator privileges
are required."- Hide quoted text -

- Show quoted text -

And I guess this might be the answer...

"Marking the Privileges for an MSI

Before Windows Vista, the ALLUSERS property was used to mark whether
an MSI file would install an application's shortcuts to the user
location or for all users on the machine. These shortcuts included the
DesktopFolder, ProgramMenuFolder, StartMenuFolder, and StartupFolder.
Because there was no analogous per-user Program Files directory, the
application binaries generally were still written to the Program Files
directory.

Unfortunately, for app compatibility reasons Windows Installer could
not determine whether the user should be prompted for credentials
based solely on the ALLUSERS property. Instead, an additional bit was
allocated in the MSI file to determine whether to prompt the user.
This is bit 3 in the Word Count Summary property. If this bit is set
to 1, the package is assumed to be a per-user MSI and the user will
not be prompted for an Administrator token.

To specify that a package can only be installed by an administrator
into the Public profile, set ALLUSERS="1" or ALLUSERS="2" and set bit
3 of the Word Count Summary property to 0. To specify that a package
is a per-user installation that can be installed by a standard user,
set ALLUSERS="" or don't define the property, and set bit 3 of the
Word Count Summary property to 1."
 
And I guess this might be the answer...

"Marking the Privileges for an MSI

Before Windows Vista, the ALLUSERS property was used to mark whether
an MSI file wouldinstallan application's shortcuts to the user
location or for all users on the machine. These shortcuts included the
DesktopFolder, ProgramMenuFolder, StartMenuFolder, and StartupFolder.
Because there was no analogousper-userProgram Files directory, the
application binaries generally were still written to the Program Files
directory.

Unfortunately, for app compatibility reasons Windows Installer could
not determine whether the user should be prompted for credentials
based solely on the ALLUSERS property. Instead, an additional bit was
allocated in the MSI file to determine whether to prompt the user.
This is bit 3 in the Word Count Summary property. If this bit is set
to 1, the package is assumed to be aper-userMSI and the user will
not be prompted for an Administrator token.

To specify that a package can only be installed by an administrator
into the Public profile, set ALLUSERS="1" or ALLUSERS="2" and set bit
3 of the Word Count Summary property to 0. To specify that a package
is aper-userinstallation that can be installed by a standard user,
set ALLUSERS="" or don't define the property, and set bit 3 of the
Word Count Summary property to 1."- Hide quoted text -

- Show quoted text -

One of the better articles on this subject is:

http://blogs.msdn.com/rflaming/arch...er-as-a-standard-user-install-if-yes-how.aspx

Also the microsoft.public.platformsdk.msi is a better group to ask
Windows Installer related questions.

Regards,
Chris
http://blog.deploymentengineering.com
 
Back
Top