Ok, I am working with Jonathan today in my day job capacity and I have an 
understanding of PROBABLY what is happening. If the WiX-devs list is better for 
this, let me know...

 

Based on the install logs and the way BURN appears to work, transforms seem a 
bit limited in how BURN handles them (and if someone knows the section of code 
I would appreciate the pointer).

 

Background:

So the transform is working on install. The installation works as expected and 
the appropriate transform is applied and installed. On uninstall they are 
getting an error saying that the item is not installed (weird cause we did 
install it). So looking at the log we see that the initial product GUID is one 
value and the transform changes it to a different value. Also the registry 
shows that the transform was applied as expected. So far so good.

 

When we go to uninstall we notice the GUID being used is the old GUID for the 
application not the transformed one. This leads to the uninstall error.

 

What we believe is happening is that BURN is tracking the MSI GUIDs that are 
being installed and when the transform is applied and changes that GUID, BURN 
has no trace of it.

 

What we need:

So what we need to do is when a transform is applied, update the XML list that 
BURN maintains with the new GUID so that the uninstall tracks it appropriately. 
We just need to update this on install only. Once updated it should be fine 
going forward. I can see in the BURN source where it reads this XML information 
and operates based on that, but I am not 100% sure where this information is 
generated. Is it on install or is this done at build time? If at build time is 
there a way for us to tell BURN what the GUID will change to? That will resolve 
their uninstall problem...

 

 

Below are some of the logs during install:

 


[09B4:06A0][2013-03-13T07:48:14]: Verified acquired payload: 
cab07A065F47DD6E9FCDAE62ABCDDF335E7 at path: C:\Documents and Settings\All 
Users\Application Data\Package 
Cache\.unverified\cab07A065F47DD6E9FCDAE62ABCDDF335E7, moving to: C:\Documents 
and Settings\All Users\Application Data\Package 
Cache\{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}v1.0.0.0030\cab1.cab.

[09B4:0D50][2013-03-13T07:48:14]: Applying execute package: RADInstall30, 
action: Install, path: C:\Documents and Settings\All Users\Application 
Data\Package 
Cache\{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}v1.0.0.0030\RADInstall30, 
arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7" TRANSFORMS=":Jon2T" 
ARPSYSTEMCOMPONENT="1"'

[09B4:0D50][2013-03-13T07:48:16]: Unable to register source directory: 
C:\Documents and Settings\All Users\Application Data\Package 
Cache\{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}v1.0.0.0030\, product: 
{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}, reason: 0x80070645. Continuing...

[09B4:0D50][2013-03-13T07:48:16]: Registering package dependency provider: 
{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}, version: 1.0.0.0030, package: 
RADInstall30

[09E8:0A84][2013-03-13T07:48:16]: Applied execute package: RADInstall30, 
result: 0x0, restart: None

[09B4:0D50][2013-03-13T07:48:16]: Registering dependency: 
{08b55420-861a-4f92-b56f-120c85eb2455} on package provider: 
{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}, package: RADInstall30

[09B4:0D50][2013-03-13T07:48:16]: Removing cached package: RADInstall30, from 
path: C:\Documents and Settings\All Users\Application Data\Package 
Cache\{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}v1.0.0.0030\
[09E8:0A84][2013-03-13T07:48:16]: Apply complete, result: 0x0, restart: None, 
ba requested restart:  No
 

 

Final registry key after transform is applied:

 


Here is a snapshot of : 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{CA11308E-C505-48B9-BD2F-340095256AE9}

 

Below is the log from the uninstall:

 


[07E8:0544][2013-03-13T07:55:15]: Detected partially cached package: 
RADInstall30, invalid payload: RADInstall30, reason: 0x80070570

[07E8:0544][2013-03-13T07:55:15]: Detected partially cached package: 
RADInstall30, invalid payload: cab07A065F47DD6E9FCDAE62ABCDDF335E7, reason: 
0x80070570

[07E8:0544][2013-03-13T07:55:15]: Detected package: RADInstall30, state: 
Absent, cached: Partial

[07E8:0544][2013-03-13T07:55:15]: Detect complete, result: 0x0

[07E8:0544][2013-03-13T07:55:17]: Plan 1 packages, action: Uninstall

[07E8:0544][2013-03-13T07:55:17]: Planned package: RADInstall30, state: Absent, 
default requested: Absent, ba requested: Absent, execute: None, rollback: None, 
cache: No, uncache: Yes, dependency: Unregister

[07E8:0544][2013-03-13T07:55:17]: Plan complete, result: 0x0

[07E8:0544][2013-03-13T07:55:17]: Apply begin

[0D8C:090C][2013-03-13T07:55:24]: Automatic updates could not be paused due to 
error: 0x80070422. Continuing...

[0D8C:090C][2013-03-13T07:55:24]: Creating a system restore point.

[0D8C:090C][2013-03-13T07:55:28]: Created a system restore point.

[0D8C:090C][2013-03-13T07:55:28]: Removed dependency: 
{08b55420-861a-4f92-b56f-120c85eb2455} on package provider: 
{8B14C1DC-38C4-4CC6-9B05-5AA4320EC3C5}, package RADInstall30



TechX - Technology eXperts
Technical Support & Consulting
Phone: 559.464.5042
Web: http://on.fb.me/Ztd9ns

Sent from Windows Mail


From: David Watson
Sent: ‎March‎ ‎12‎, ‎2013 ‎6‎:‎08‎ ‎AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Using transforms (regular) to install mulitple times 
per application



Hi,
Shared components can be managed several ways how you implement depends on
your application.

If your application is purely designed to be used by others you can ship a
merge module or wixlib that they can include inside their MSI and install
privately into their program folder, this puts them in charge of making
updates if you release a new version.

You can also implement this as a full msi to be included in their
bootstrapper as a pre-requisite and be handled like any other pre-requisite,
ideally this will be installed into a shared location (common files). Updates
to this would be created by you but shipped by your customers, or possible
auto-updated directly by you. Small updates would be done in place (by msp or
msi), major updates that are not backwards compatible would be installed in
parallel (upgrade code and install location change) -so you don't break other
software installed on the machine. Burn should handle if multiple products
have a shared MSI.

Your software architecture has to support this of course.

-----Original Message-----
From: jeamis [mailto:jonathan.a...@intergraph.com] 
Sent: 12 March 2013 10:48
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Using transforms (regular) to install mulitple times per
application

What I am trying to do is to allow customer bootstrappers the ability to
install my package for thier application.  In some cases the customer has two
applications (installed in one setup) that use my product.  So how can I use
a transform that will allow this customer to install my product twice? 
And also support patches etc.... My product is delivered as a msi file. 

<http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n7584257/
New_Bitmap_Image.bmp> 

I currently have a msi that implements instance tranforms to do this.  If I
were using scripts msiexec.exe installs it fine with MSINEWINSTANCE=1 and
TRANSFORMS set.  And if I were using scripts I could uninstall fine by
calling msiexec.exe without the MSINEWINSTANCE=1 parameter.  However, using a
msiPackage in wix I don't see how I can provide a msiProperty
(MSINEWINSTANCE) on Install and not have the msiProperty on uninstall.    

So we are thinking of abondoning instance transforms and seeing if there is
a way to use regular transforms to do the same.   

Being green on the subject of installer and Wix, I would love some direction
on how I can solve this problem.   

My component is used by several independent applications as well and they
want to be able to exist on machines that may have other applications that
use my component (thier own copy).




-----
- jon
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-transform
s-regular-to-install-mulitple-times-per-application-tp7584257.html
Sent from the wix-users mailing list archive at Nabble.com.

-----------------------------------------------------------------------------
-
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
endpoint security space. For insight on selecting the right partner to tackle
endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to