InstallShield has a custom action (ISSetAllUsers) that sets ALLUSERS, so
looking in the raw MSI file won't tell you what's going on. It's mostly
used when it upgrades previous products, but nevertheless I recommend
looking at a log to see what's actually happening to the ALLUSERS value
during the InstallShield MSI install.
This script might help. If it reports a context of 4 if the product is
installed per-machine, 2 if for a user and unmanaged.
Option Explicit
Public installer, fullmsg, comp, prod, a, fso, pname, ploc, pid,contxt,
sid, psorce, pcache, pvers
Set fso = CreateObject("Scripting.FileSystemObject")
Set a = fso.CreateTextFile("prodex.txt", True)
' Connect to Windows Installer object
Set installer = CreateObject("WindowsInstaller.Installer")
a.writeline ("Products")
'on error resume next
For Each prod In installer.ProductsEx("", "", 7)
pid = prod.ProductCode
contxt = prod.Context
sid=prod.usersid
pname = prod.InstallProperty("InstalledProductName")
psorce=prod.InstallProperty( "InstallSource")
ploc =prod.InstallProperty( "InstallLocation")
pcache = prod.InstallProperty("LocalPackage")
pvers=prod.InstallProperty("VersionString")
a.writeline (pid & " " & pname & " " & pvers & " installed at <" &
ploc & "> from " & psorce & " Context " & contxt)
Next
Phil Wilson
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of fiordean
dacian
Sent: Tuesday, June 05, 2007 9:46 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Upgrade InstallShield package
Hi Bob,
ALLUSERS property is not set within the .msi file InstallShield
generates, which means there was a per-user installation (there is
something like ApplicationUsers property with the value ALLUSERS). My
.msi uses ALLUSERS with a value of 1 (so per-machine install). I removed
ALLUSERS property from my .msi.
Also, I switched for a major upgrade now (updated Product & UpgradeCode
GUIDs and Version), here is the Upgrade sequence:
<Upgrade Id="C466B4D2-CFF9-4880-9910-D95248AAABEB">
<UpgradeVersion OnlyDetect="no" Property="PREVFOUND" Maximum="1.0.1"
IncludeMaximim="no"/>
</Upgrade>
<Upgrade Id="D1EF72C4-8A32-4526-9F7F-396EC5DAC5C3">
<UpgradeVersion OnlyDetect="yes" Property="NEWERFOUND"
Minimum="2.0.0" IncludeMinimum="yes"/>
</Upgrade>
The first Upgrade refers to previous InstallShield package out there,
second is for current version.
Well, I had no success yet.
Dacian
----- Original Message ----
From: Bob Arnson <[EMAIL PROTECTED]>
To: fiordean dacian <[EMAIL PROTECTED]>
Cc: wix-users@lists.sourceforge.net
Sent: Tuesday, June 5, 2007 5:23:07 PM
Subject: Re: [WiX-users] Upgrade InstallShield package
fiordean dacian wrote:
That would remove my previous installation, right? I'm not sure
I want that since the user might have configured the product (registry
keys, config files, etc.) and I don't want that to be removed. I just
want an upgrade of what's out there.
Unless you kept all your GUIDs and IDs the same, you need to do a major
upgrade to get to a "clean slate" install.
On top of that, it still doesn't look like the previous
installation was detected (the PREVFOUND property doesn't have a GUID
attached to it and no upgarde is proposed, just normal install).
The most common reason is that you're trying to mix and match values of
ALLUSERS. MSI doesn't support a per-user install upgrading a per-machine
install (or vice versa).
--
sig://boB
http://joyofsetup.com/
________________________________
Sick sense of humor? Visit Yahoo! TV's Comedy with an Edge
<http://us.rd.yahoo.com/evt=47093/*http://tv.yahoo.com/collections/222>
to see what's on, when.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users