/build/static/layout/Breadcrumb_cap_w.png

InstallShield - no UI (get AllUsers install) vs Full UI (get CurrentUser install)!

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

Answers (5)

Posted by: KPrinz 17 years ago
Fourth Degree Green Belt
0
Have you already tried running it with the add'l property ALLUSERS=1 or ALLUSERS=2 ??
Posted by: anonymous_9363 17 years ago
Red Belt
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.
Posted by: nheim 17 years ago
10th Degree Black Belt
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
Posted by: anonymous_9363 17 years ago
Red Belt
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.
Posted by: shardan 17 years ago
Yellow Belt
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
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ