cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Peter_Kosenko
Level 7

CustomerInfo dialog does not set ALLUSERS

Has anyone else come across this?

************

Basic MSI CustomerInfo dialog does not seem to be setting the ALLUSERS property.

We have an InstallSchield upconversion of a Basic MSI installer to InstallShield 2008.

The CustomerInfo dialog does not seem to work to set ALLUSERS.

These two Set Property custom actions occur in the NEXT button events.

Event Argument Condition
[ALLUSERS] 1 ApplicationUsers="AllUsers" And Privileged
[ALLUSERS] {} ApplicationUsers = "OnlyCurrentUser" and Privileged

The radio buttons are configured to return the quoted values above (double checked). I am logged on as an AdminUser (= Privileged). I tried this without the Privileged condition also, and it still didn't work.

But the ALLUSERS property still does not reset from the default ALLUSERS=1 when "Only for Me ()" is selected.
Labels (1)
0 Kudos
(7) Replies
Peter_Kosenko
Level 7

In fact, I am beginning to suspect that InstallShield 2008 is INCAPABLE of setting ALLUSERS="" (me only). I created a custom action to substitute for what should be the Dialog's behavior. Neither of the following worked.

MsiSetProperty(ISMSI_HANDLE, "ALLUSERS", "");

ALLUSERS = 0

In other words, we are stuck with an installer that installs ONLY for ALL USERS???

*************************

Peter Kosenko wrote:
Has anyone else come across this?

************

Basic MSI CustomerInfo dialog does not seem to be setting the ALLUSERS property.

We have an InstallSchield upconversion of a Basic MSI installer to InstallShield 2008.

The CustomerInfo dialog does not seem to work to set ALLUSERS.

These two Set Property custom actions occur in the NEXT button events.

Event Argument Condition
[ALLUSERS] 1 ApplicationUsers="AllUsers" And Privileged
[ALLUSERS] {} ApplicationUsers = "OnlyCurrentUser" and Privileged

The radio buttons are configured to return the quoted values above (double checked). I am logged on as an AdminUser (= Privileged). I tried this without the Privileged condition also, and it still didn't work.

But the ALLUSERS property still does not reset from the default ALLUSERS=1 when "Only for Me ()" is selected.
0 Kudos
Not applicable

Honestly, you probably want to only install for All Users. Per-user installations are typically fraught with error and prone to maintenance nightmares. This is my opinion only, obviously 🙂

At any rate, can you see the radio selections on the dialog? Have you logged the installation to determine the behavior ALLUSERS is following?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

As a sanity check, since you appear to be using InstallScript custom actions, can you confirm that the hotfix from Q113652: HOTFIX: InstallScript Initialization Code Modifying ALLUSERS Property has been applied?
0 Kudos
Peter_Kosenko
Level 7

Actually, NO, I didn't have that hotfix installed.

When I updated the ISSetup.dll as specified in the hotfix , I get another error related to custom actions:

Error 1723 There is a problem with this Windows Installer package. A DLL required for this install to work could not be run. Contact your support personnel or package vendor. Action SetCompressedProductGUID, etnry: f21, library: . . .\. . .

That is the FIRST custom action in the installer. Presumably in IScriptBridge.DLL.

So there is some incompatibility between the hotfix DLL and my existing IS2008?

Of course, I backed up the old ISSetup.DLL 14.0.0.162 and can restore it, but the hotfix isn't helping.

I restarted IS2008. Same problem.

I'm now going to reboot the computer and see if that (perhaps) solves the problem.

-- Peter

joshstechnij wrote:
As a sanity check, since you appear to be using InstallScript custom actions, can you confirm that the hotfix from Q113652: HOTFIX: InstallScript Initialization Code Modifying ALLUSERS Property has been applied?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

ISScriptBridge.dll is no longer used for InstallScript custom actions (as of IS 12); ISSetup.dll is essentially its replacement.

I'm not certain what the cause of the error would be based on the log line. Can you double-check the ISSetup.dll that is present in C:\Program Files\Macrovision\IS2008\Redist\Language Independent\i386 with Dependency Walker and make sure that it is exporting function names in the form f (where x is 1 through 1000)? If those aren't present, the InstallScript version of ISSetup.dll could have been mixed up with the MSI version (I checked the zip file in the KB and it is correct if you extract the zip file to the IS2008 folder).
0 Kudos
Peter_Kosenko
Level 7

The hotfix is working after I rebooted my machine.

The "OnlyCurrentUser" selection in the CustomerInfo dialog is now setting ALLUSERS to "" where it was left as default "1" before.

Thank you VERY MUCH for the help.

-- Peter

joshstechnij wrote:
ISScriptBridge.dll is no longer used for InstallScript custom actions (as of IS 12); ISSetup.dll is essentially its replacement.

I'm not certain what the cause of the error would be based on the log line. Can you double-check the ISSetup.dll that is present in C:\Program Files\Macrovision\IS2008\Redist\Language Independent\i386 with Dependency Walker and make sure that it is exporting function names in the form f (where x is 1 through 1000)? If those aren't present, the InstallScript version of ISSetup.dll could have been mixed up with the MSI version (I checked the zip file in the KB and it is correct if you extract the zip file to the IS2008 folder).
0 Kudos
Peter_Kosenko
Level 7

Also, thank you for the clarification about ISScriptBridge.dll.

We missed InstallShield 12 and went from 9.0 to 11.5 to 2008.

So my understanding was apparently a bit dated.

Thanks again.

Peter Kosenko wrote:
The hotfix is working after I rebooted my machine.

The "OnlyCurrentUser" selection in the CustomerInfo dialog is now setting ALLUSERS to "" where it was left as default "1" before.

Thank you VERY MUCH for the help.

-- Peter
0 Kudos