PDA

View Full Version : ALLUSERS property and per-user install.



Snoopstah
05-16-2006, 11:11 PM
No matter what I do, my ALLUSERS property is being set to 1.

I have tried in the Properties view putting a value of ALLUSERS="". This was overwritten somewhere.

I tired writing a custom action to set the property to "", however this is not taking either.

How can I set the ALLUSERS property so my install will stay as a per user installation ???

I do not want to display the Customer Information dialog.

I have attached my verbose log. In this build I had ALLUSERS="" in the Properties view of my project. As you can see in the log, the ALLUSERS property is set to 1 almost immediately ! Why ????

furrymcmonst
05-17-2006, 12:46 AM
Alison,

Try removing ALLUSERS from the property table altogether. When a property is considered to have a NULL value, it can't exist in the table.

Windows Installer will always either set the ALLUSERS property to 1 or to NULL and my understanding is that a NULL means the property basically doesn't exist.

Snoopstah
05-17-2006, 01:04 AM
Unfotunately this is where I started and it also does a per-machine installation. According to the logging there is a property change after AgreeToLicense that Adds ALLYUSERS property and sets it to 1.

PhilWilson
05-17-2006, 03:36 PM
Is it because in your Options, General tab you have the "Automatically create ISSetAllUsers" box checked? There might be a previous version installed and it's changing to match the installed version so that an upgrade will work.

Snoopstah
05-17-2006, 07:21 PM
My Options, General tab had the "Automatically create ISSetAllUsers" box checked. I have unchecked this box and rebuilt my project. Unfortunately it is still going to ALLUSERS=1.

My ALLUSERS is set to "" in the properties view.

When I look at the install log, very early on the following is done :
MSI (c) (78:B8) [09:58:02:377]: PROPERTY CHANGE: Modifying ALLUSERS property. Its current value is '""'. Its new value: '1'.

Grrrrrrrrrrr

Is there something else I needed to do other than uncheck the box ?

TsungH
05-17-2006, 09:11 PM
Perhaps, a couple of lines above in the log, and see what's changing it.

Snoopstah
05-17-2006, 09:46 PM
I have again attached my log file. I can not see any reason for the change! Unless this line means something ?

MSI (c) (0C:88) [12:22:48:581]: Product installation will be elevated because user is admin and product is being installed per-machine.

TsungH
05-17-2006, 10:24 PM
Looks like you are running setup.exe, anything jumps out in setup.ini?

Wait, did you literally set "" (two double quotes) as the value of ALLUSERS in Property Manager? To clear a property, you should not set any value to the property. Or you should just delete the property from Property Manager.

Snoopstah
05-17-2006, 10:37 PM
I did literally set it to "". I have also tried by setting the property to nothing, and also deleting the property. They all have the same result.

I looked in the setup.ini and can't see anything obvious although I'm not quite sure what I'm looking for. I have attached the INI file.

I have also tried rebuilding as a network install (single setup.exe file generated). Same problem, it went through and created shortctus in the "AllUsers" section.

TsungH
05-17-2006, 10:43 PM
Hmm..... how about building a single MSI and see if you get a different behavior?

Snoopstah
05-17-2006, 10:54 PM
Same behaviour. I will switch back to setup.exe as this is the desired result.

TsungH
05-17-2006, 11:30 PM
I can't say for sure, but i think it could be the consequence of some policy on the machine. You may want to check with you sysadmins/network admins.
MSI (c) (0C:88) [12:22:48:581]: Product installation will be elevated because user is admin and product is being installed per-machine.

Snoopstah
05-18-2006, 12:29 AM
I can install my previous installscript version onto the same machine as per user. That is how this problem was realised as I am tryign to upgrade that install.

I have a test pc with Windows 2000 Server
Install 3.2 version of our software (this was an InstallScript project).
Install 3.4 Version of our software (this is a new Basic MSI project).

The upgrade appears to work except for left over entries in Add/Remove and leftover shortcuts under the user (C:\Documents and Setings\au-admin\etc..)

My research indicated this was due to changing the ALLUSERS property from per-user to per-machine so it can't successfully uninstall the previous user install.

I have managed to manually remove the registry entries but can't remove the old shortcut as it is under the logged in user. All my new shortcuts are created under "AllUsers" login.

TsungH
05-19-2006, 12:54 AM
InstallScript project setups use InstallScript engine to drive installation, not MSI. So, it shouldn't change the value of ALLUSERS property in a Basic MSI project. However, an InstallScript MSI project will.

Just to be certain, I checked the log again. In the log, it did find previous version and tried to remove the previous version. Is the previous version a (pure) InstallScript project or InstallScript MSI project? The log suggests the previous version is MSI based (Basic MSI project or InstallScript MSI project). If that's the case, this piece of info could have saved us both time and efforts!

Snoopstah
05-19-2006, 12:58 AM
The previous version was an InstallScript MSI project.

I'm totally confused...

TsungH
05-19-2006, 01:01 AM
Does your question in this thread (http://community.installshield.com/showthread.php?t=158542) discuss the same setups? If so, that's the confirmation on InstallScript MSI project.

Snoopstah
05-19-2006, 01:04 AM
They are the same setups.

But I am still left with the problem of ALLUSERS never being set to per-user. It does not matter if I try to upgrade an existing install or do a brand new install, ALLUSERS always changes to a value of 1.

TsungH
05-19-2006, 01:10 AM
In that case, ALLUSERS property in the new version is sync'd up with previous version's so that it can detect and remove previous version (i.e., perform major upgrade). That explains the behavior you are seeing.

Snoopstah
05-19-2006, 01:13 AM
New Install :
when it's a brand new install and not doing a major upgrade the property is always changing to per-machine and creating the shortcuts under AllUsers when I want it to be per-user.

Upgrade Install :
My previous install that I am upgrading was a per-user installation with shortcuts created under the current logged in user name. The new project does unisntall the files but does not remove the entries from add/remove or the shortcuts from the currently logged in user. It creates shortcuts under AllUsers.

TsungH
05-19-2006, 02:09 AM
Is everything done on a clean machine? If not, all bets are off. Install then uninstall in many cases will taint a machine with residual traces, hence not considered clean.

In both scenarios, installation log will provide the best tool to help troubleshoot, when being physically present is not feasible. It may be a good idea to create the installation log of the previous version as well.

Snoopstah
05-21-2006, 11:39 PM
The ALLUSERS property does not exist in the PROPERTIES view at build time.
I have not set it in any custom actions.

To test the install I am on a completely new XP Pro machine loaded from VMWare.

I install my product for the first time and the shortcuts are created under "AllUsers" directory. ALLUSERS property is added and set to 1 according to the log.

MSI (c) (04:48) [14:15:57:101]: PROPERTY CHANGE: Adding ALLUSERS property. Its value is '1'.

TsungH
05-22-2006, 11:12 PM
Sorry, but I do not have anything new to offer.

mbaria
09-22-2006, 04:41 PM
I don't know if this helps, but I was looking for ALLUSERS in my project too and didn't find it in the Property Manager or anywhere else....until I searched all tables in the Direct Editor (I should learn to look there first). Turns out the "Customer Information" dialog was setting ALLUSERS to "1".