Hi Phil,

Looking through IS log I see ALLUSERS with a value of 1.

Running your script displays "Context 4", so there is a per-machine install 
done by IS. I have ALLUSERS set to 1 in my WiX source, but there is no 
detection for the product IS created.

A strange thing I saw running your script: the product GUID displayed by your 
script next to the product name I'm interested is something like this:

{B607D95A-A73C-444B-87BA-B4E9DBAC4DEE}

while the product code displayed by IS within its UI is:

{F1872E85-C933-44D4-8B88-85D68DD9B103}

which makes me think the UpgradeCode on which I base my <Upgrade> element to 
detect the previous version installed out there is wrong (I take it from the 
same IS UI which displays the "wrong" product code above). I don't see a 
property for retrieving the UpgradeCode within the WindowsInstaller automation 
interface in order to check if the UpgradeCode IS installed product has.

Dacian

----- Original Message ----
From: "Wilson, Phil" <[EMAIL PROTECTED]>
To: wix-users@lists.sourceforge.net
Sent: Tuesday, June 5, 2007 7:22:22 PM
Subject: Re: [WiX-users] Upgrade InstallShield package



 



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 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







       
____________________________________________________________________________________
Get the free Yahoo! toolbar and rest assured with the added security of spyware 
protection.
http://new.toolbar.yahoo.com/toolbar/features/norton/index.php
-------------------------------------------------------------------------
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

Reply via email to