I am messing with a vendor MSI (AutoAudit, if by the slimmest of slim chances someone's familiar with it). The maddening thing is that if I run it with a full UI, it installs for the current user. With no UI (/qb), it installs for All Users.

I have added the (for some reason missing) standard IS ALLUSERSPROFILE/USERPROFILE CAs, added an explicit CA to set the 'AutoAudit' property to '[USERPROFILE]\Start Menu\Programs\AutoAudit' but it *still* installs for All Users. There are no obvious CAs setting other properties so 'm pretty much stumped (as are 2 other packaging colleagues on-site)

My suspicion is that the IS CreateShortcut CA is calling a Windows API and explicitly setting the property. From the log, see the lines highlighted with a '*' prefix:

MSI (s) (A8:6C) [13:42:06:000]: Executing op: ActionStart(Name=CreateShortcuts,Description=Creating shortcuts,Template=Shortcut: [1])
Action 13:42:06: CreateShortcuts. Creating shortcuts
* MSI (s) (A8:6C) [13:42:06:015]: Executing op: SetTargetFolder(Folder=23\AutoAudit\)
* MSI (s) (A8:6C) [13:42:06:031]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu\Programs
MSI (s) (A8:6C) [13:42:06:046]: Executing op: ShortcutCreate(Name=AUTOAU~1|AutoAudit,,,FileName=C:\Program Files\AutoAudit\aaWin.exe,,WorkingDir=C:\Program Files\AutoAudit\,Icon=Icon34EA4AD7.exe,IconIndex=1,,ShowCmd=1,Description=Open AutoAudit for Windows)
CreateShortcuts: Shortcut: AUTOAU~1|AutoAudit
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Have you already tried running it with the add'l property ALLUSERS=1 or ALLUSERS=2 ??
Answered 04/13/2007 by: KPrinz
Fourth Degree Green Belt

Please log in to comment
0
No, because the eventual target is to distribute via Group Policy and always per-user so we remove ALLUSERS or make it null. I just re-tried the install without our MST and specified ALLUSERS="" and that has worked so, we're close. I'm just now building a new, bare minimum MST with solely the unwanted features removed and will re-test once that's done.
Answered 04/13/2007 by: VBScab
Red Belt

Please log in to comment
0
Hi Ian,
your mixing different things here:
'CreateShortcuts' is a regular Windows Installer action, altering the 'AutoAudit' property will have no effect, because this directory is set dynamically, depending from the ALLUSERS property.
You need to find, where the ALLUSERS property is set to 1. This is the only way to guarantee the intended function.
Open the MSI in ORCA and search for 'ALLUSERS' in there.
As shown in your first post, you already log this beast. Search for the 'ALLUSERS' property in the log file. If it is set somewhere, it's logged.

Another thing: Are you sure, that this app is authored well enough, to install it per-user through a GPO?

Good luck.
Regards, Nick
Answered 04/14/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
ORIGINAL: nheim
'CreateShortcuts' is a regular Windows Installer action, altering the 'AutoAudit' property will have no effect, because this directory is set dynamically, depending from the ALLUSERS property.
You need to find, where the ALLUSERS property is set to 1. This is the only way to guarantee the intended function.
Open the MSI in ORCA and search for 'ALLUSERS' in there.
As shown in your first post, you already log this beast. Search for the 'ALLUSERS' property in the log file. If it is set somewhere, it's logged.

Yes, I know all that. I had it mind that IS may have hacked with CreateShortcuts somehow. Turns out to be as simple as setting ALLUSERS to null right after all the vendor's CAs.

ORIGINAL: nheim
Another thing: Are you sure, that this app is authored well enough, to install it per-user through a GPO?

LOL...the count of 40 changes/additions to our MST suggests otherwise :) However, company policy dictates that apps are installed per-user. Exceptions are few and have to be justified at length so we do all we can to make them suitable.
Answered 04/16/2007 by: VBScab
Red Belt

Please log in to comment
0
Hi

I have just packaged AutoAudit for the company I work for and like you there is a requirement to make it a per-user install and install it via Group Policy just like your company. I did the following actions to the transform I created against the vendor msi :-

Set the following properties to these values :-

AgreeToLicense Yes
ALLUSERSPROFILE C:\
ApplicationUsers OnlyCurrentUser

- Edited CA ISInitAllUsers so that ALLUSERS is also set to {}

- Added the standard InstallShield user profile-fix code to 'Execute Immediate' section, before CreateFolders CA:
"SetUserProfileNT","51","USERPROFILE","[%USERPROFILE]"
"SetAllUsersProfile2K","51","ALLUSERSPROFILE","[%ALLUSERSPROFILE]"
"SetAllUsersProfileNT","51","ALLUSERSPROFILE","[%SystemRoot]\Profiles\All Users"

Removed the events from the 'Next' button on the CustomerInformation dialog which set ALLUSERS depending on the value of 'ApplicationUsers'

- Commented-out call to ISSelfRegisterFinalize in 'Execute Immediate' and 'Execute Deferred' sections

- Removed SMPT40.OCX and VSLIGHT6.OCX from ISSelfReg table

- Used WiseComCapture to export registration data from SMPT40.OCX and VSLIGHT6.OCX

- Moved shortcut which was set to install to root of Start menu to discrete folder, Start\Programs\AutoAudit

Hope that helps you.
Shardan
Answered 04/18/2007 by: shardan
Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity