This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Some additional Information
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Dec 19, 2007
02:17 AM
ALLUSERS property and InstallOption
We attempted to convert the InstallShield 11.5 Basic MSI project to InstallShield 2008. Previously the CustomerInformation dialog was not enabled (shown in the setup sequence) and now we try to enable this dialog, allowing end-users to choose “either install for all” or “only for current users”.
However, even I chose to install only for current users, I found the shortcuts were created for everyone, opposing to what was expected. I checked the behavior of the CustomerInformation dialog, for the “Next” pushbutton the events are as follows:
Event Arguments Conditions
[ALLUSERS] 1 ApplicationUsers = "AllUsers" And Privileged
[ALLUSERS] {} ApplicationUsers = "OnlyCurrentUser" And Privileged
The ALLUSERS value shall be NULL, if I choose Install for Current User only, while be 1 if I choose to install for all. However, when I used the install script to retrieve the ALLUSERS value after the above 2 events, it always gives me a value 1 no matter what choice I made on the CustomerInformation dialog.
Question:
1. As our project is converted from IS 11.5, is there any additional step for me to perform in order to make the CustomerInformation dialog set ALLUSERS value properly? Or any workaround?
2. I used MsiSetProperty() to set the value of ALLUSERS but it seems the installer did not take the value actually. No matter whether I change the choice, or I set the value of ALLUSERS using Custom Action, the installer will install for all eventually. What is the correct procedure to set the value of ALLUSERS using Custom Action?
Thanks a lot for your advice.
However, even I chose to install only for current users, I found the shortcuts were created for everyone, opposing to what was expected. I checked the behavior of the CustomerInformation dialog, for the “Next” pushbutton the events are as follows:
Event Arguments Conditions
[ALLUSERS] 1 ApplicationUsers = "AllUsers" And Privileged
[ALLUSERS] {} ApplicationUsers = "OnlyCurrentUser" And Privileged
The ALLUSERS value shall be NULL, if I choose Install for Current User only, while be 1 if I choose to install for all. However, when I used the install script to retrieve the ALLUSERS value after the above 2 events, it always gives me a value 1 no matter what choice I made on the CustomerInformation dialog.
Question:
1. As our project is converted from IS 11.5, is there any additional step for me to perform in order to make the CustomerInformation dialog set ALLUSERS value properly? Or any workaround?
2. I used MsiSetProperty() to set the value of ALLUSERS but it seems the installer did not take the value actually. No matter whether I change the choice, or I set the value of ALLUSERS using Custom Action, the installer will install for all eventually. What is the correct procedure to set the value of ALLUSERS using Custom Action?
Thanks a lot for your advice.
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jan 09, 2008
02:37 AM
I tried to retrieve the AllUsers value after the CA and it shows correct as supposed. However, when I enable the full install log, I saw two sets of properties as follows:
Property(S): DiskPrompt = [1]
Property(S): UpgradeCode = {xxx}
Property(S): ProductToBeRegistered = 1
Property(S): OS_NOTSUPPORTED = 0
Property(S): INSTALL_MDAC = 0
Property(S): SourcedirProduct = {xxx}
Property(S): PrimaryVolumeSpaceRemaining = 0
Property(S): PrimaryVolumeSpaceRequired = 0
Property(S): PrimaryVolumeSpaceAvailable = 0
Property(S): ALLUSERS = 1
....
and
Property(C): DiskPrompt = [1]
Property(C): UpgradeCode = {xxxx}
Property(C): ALLUSERS = 1
Property(C): PrimaryVolumeSpaceRemaining = 0
Property(C): PrimaryVolumeSpaceRequired = 0
Property(C): PrimaryVolumeSpaceAvailable = 0
Property(C): OutOfNoRbDiskSpace = 0
Property(C): OutOfDiskSpace = 0
....
I read it somewhere saying that "s" and "c" denote different processes and I am wondering which process will dominate the installation.
Because I tried to create a new project which the "Install for current user only" works properly, and the AllUsers = 1 in set "s" while no AllUsers property is shown in set "c".
Anyone could help to explain this "c" and "s" thing?
most miserably, how come AllUsers appears as Null when I use MsiGetProperty to retrieve but it is "1" in the install log?
Thank you very much and happy new year :-)) (although a bit late)
Property(S): DiskPrompt = [1]
Property(S): UpgradeCode = {xxx}
Property(S): ProductToBeRegistered = 1
Property(S): OS_NOTSUPPORTED = 0
Property(S): INSTALL_MDAC = 0
Property(S): SourcedirProduct = {xxx}
Property(S): PrimaryVolumeSpaceRemaining = 0
Property(S): PrimaryVolumeSpaceRequired = 0
Property(S): PrimaryVolumeSpaceAvailable = 0
Property(S): ALLUSERS = 1
....
and
Property(C): DiskPrompt = [1]
Property(C): UpgradeCode = {xxxx}
Property(C): ALLUSERS = 1
Property(C): PrimaryVolumeSpaceRemaining = 0
Property(C): PrimaryVolumeSpaceRequired = 0
Property(C): PrimaryVolumeSpaceAvailable = 0
Property(C): OutOfNoRbDiskSpace = 0
Property(C): OutOfDiskSpace = 0
....
I read it somewhere saying that "s" and "c" denote different processes and I am wondering which process will dominate the installation.
Because I tried to create a new project which the "Install for current user only" works properly, and the AllUsers = 1 in set "s" while no AllUsers property is shown in set "c".
Anyone could help to explain this "c" and "s" thing?
most miserably, how come AllUsers appears as Null when I use MsiGetProperty to retrieve but it is "1" in the install log?
Thank you very much and happy new year :-)) (although a bit late)