If you're really doing a major upgrade, this sounds like maybe you have
RemoveExistingProducts after InstallFinalize. Immediately after
InstallInitialize is better if you expect a major upgrade to behave like
an uninstall of the old product followed by an install of the new.
Phil Wilson
________________________________
From: fiordean dacian [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 12, 2007 7:09 AM
To: Wilson, Phil; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Upgrade InstallShield package
Hi,
I ran into some extra problems with my InstallShield upgrade. Looking
with Orca throughout the Component table on the IS msi installation
file, I saw some of the components don't have a KeyPath set (the KeyPath
column is empty). The WiX source for my new version of the product has
KeyPath set on the component containing the same file, like below:
<Component Id="Component1" Guid="{GUID1}">
<File Id="File1" Name="File1.exe" Source="...">
<Shortcut Id="ScFile1" Name="File1" Description=".." .../>
</File>
<!-- just a fix for ICE43 -->
<Registry Id="..." Root="HKCU" Key="..." KeyPath="yes"
Action="write"/>
</Component>
<Component Id="Component2" Guid="{GUID2}">
<File Id="File2" Name="File2.exe" Source="..." SelfReg="1"
KeyPath="yes"/>
</Component>
Now the problem is IS component I want to upgrade contained, when the
setup was built, both File1 and File2, without a KeyPath. What I tried
is I used new GUIDs for both Component1 and Component2 in my new WiX
source. What I was expecting is:
1. File1.exe and File2.exe from the IS deployement gets removed (the
Component containing them isn't present in my new installation).
2. File1.exe and File2.exe from my new setup are deployed as they are
new components to be installed by the upgrade.
At the end of the day, none File1.exe or File2.exe are present in the
installation folder.
Am I doing something wrong here?
Dacian
----- Original Message ----
From: "Wilson, Phil" <[EMAIL PROTECTED]>
To: wix-users@lists.sourceforge.net
Sent: Monday, June 11, 2007 11:33:04 PM
Subject: Re: [WiX-users] Upgrade InstallShield package
1. Is because this is a major upgrade and your new product has a
different ProductCode guid.
2. Is probably because you've set "OnlyDetect" if I recall the syntax
correctly.
Phil Wilson
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of fiordean
dacian
Sent: Monday, June 11, 2007 8:14 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Upgrade InstallShield package
Hi,
I located and opened with Orca the cached msi file under
Windows\Installer. The UpgradeCode is, of course, different compared
with the one I was using (displayed by IS UI). Now it looks like some
upgrade is done (files are replaced and on uninstall they are removed
from the system).
I have two questions though related to the upgrade process:
1. When double click on my new msi, it detects there is a previous
product installed (there is a PREVFOUND property set I provided within
the Upgrade sequence of my WiX code), but there is no message saying
"Another version of ..." like I get when I do an upgrade with two msi
files I generated with WiX but have different versions. It just goes
like a normal install, even if some components are upgraded. What I'd
expect is getting an error when double click ("Another version..."), but
when launched with REINSTALL=ALL REINSTALLMODE=vomus it should work.
2. At the end of the installation, I have two entries within Add/Remove
Programs list: one with the previous name for the product and under it
the new name for the product. There is just the Remove button for the
previous product version (by design) and clicking on it just removes the
entry from the Add/Remove list (without an installation or whatever).
What I'd expect is no entry for the previous version in the list.
Any ideas why?
Thx,
Dacian
----- Original Message ----
From: "Wilson, Phil" <[EMAIL PROTECTED]>
To: wix-users@lists.sourceforge.net
Sent: Friday, June 8, 2007 8:36:03 PM
Subject: Re: [WiX-users] Upgrade InstallShield package
If you can locate the cached MSI file in Windows\installer, opening it
with Orca will show the UpgradeCode in the Property table. That might
help see if you're on the right track. Versions are also another reason
why a major upgrade won't detect an older one.
Phil Wilson
________________________________
From: fiordean dacian [mailto:[EMAIL PROTECTED]
Sent: Friday, June 08, 2007 10:00 AM
To: Wilson, Phil; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Upgrade InstallShield package
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
<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
________________________________
Choose the right car based on your needs. Check out Yahoo! Autos new Car
Finder tool.
<http://us.rd.yahoo.com/evt=48518/*http://autos.yahoo.com/carfinder/;_yl
c=X3oDMTE3NWsyMDd2BF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbGsDY2FyLWZpbmRlcg
--%20>
------------------------------------------------------------------------
-
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
________________________________
Park yourself in front of a world of choices in alternative vehicles.
Visit the Yahoo! Auto Green Center.
<http://us.rd.yahoo.com/evt=48246/*http://autos.yahoo.com/green_center/;
_ylc=X3oDMTE5cDF2bXZzBF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbGsDZ3JlZW4tY2V
udGVy>
------------------------------------------------------------------------
-
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
________________________________
You snooze, you lose. Get messages ASAP with AutoCheck
<http://us.rd.yahoo.com/evt=47959/*http://advision.webevents.yahoo.com/m
ailbeta/newmail_html.html>
in the all-new Yahoo! Mail Beta.
-------------------------------------------------------------------------
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