Hmm, unfortunately that is the best version.  It seems to be a known
limitation of loading one version of the runtime to access another version's
assembly files that these types of issues can arise.

Derek

-----Original Message-----
From: Erlichmen, Shay [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, June 28, 2006 12:59 AM
To: [EMAIL PROTECTED]; [email protected]
Subject: RE: [WiX-devs] Windows Installer/.NET 2.0/Broken Features


V 3.01.4000.1823

-----Original Message-----
From: Derek Cicerone [mailto:[EMAIL PROTECTED]

Sent: Wednesday, June 28, 2006 12:08 AM
To: Erlichmen, Shay; [email protected]
Subject: RE: [WiX-devs] Windows Installer/.NET 2.0/Broken Features

What version of MSI are you using?  Is it 3.0?

Derek

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Erlichmen,
Shay
Sent: Tuesday, June 27, 2006 11:11 AM
To: [email protected]
Subject: Re: [WiX-devs] Windows Installer/.NET 2.0/Broken Features


Here goes:

1. Write a ServicedComponent using .NET 2.0.
2. Write a Wix script to using the file to the GAC.
3. Access the component using a .NET 1.1 application.

        Type objectType = Type.GetTypeFromProgID("ProgID");
        object obj = Activator.CreateInstance(objectType);
4. Your MSI that installs the file should kick in in repair mode because
it thinks that the Component (MSI component) that installed the files is
broken.

I used some tools and found up that my .NET is using Fusion 1.1 API to
figure out  if the MSI is installed in the GAC. Those API were triggered
by MSI API.
I think that the reason for it is that the MSI API is not using the
LoadLibraryShim which loads the latest APIs of the fusion but I'm
shooting blindly without the sources.

BTW, some other tools of the trade (I'm not naming names) are using
their own ways to install assemblies to the GAC.

-Shay Erlichmen.

-----Original Message-----
From: Derek Cicerone [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 27, 2006 6:18 PM
To: Erlichmen, Shay; [email protected]
Subject: RE: [WiX-devs] Windows Installer/.NET 2.0/Broken Features

I'm a little fuzzy on what the actual bug behavior that you're trying to
get around was.  Could you please give some more info?

This seems a little risky at first blush because I know that properly
handling upgrades, patching, uninstall, reinstall, rollback, etc... for
assemblies files in the GAC can be extremely tricky to get 100% correct.
In general we advise people not to duplicate functionality already found
in the Installer because its nearly impossible to do as good a job as
the MSI team.
I'd like to hear more info on your scenarios to determine if there is a
clear bug in the Installer (which should be fixed).

Thanks,
Derek

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Erlichmen,
Shay
Sent: Tuesday, June 27, 2006 1:45 AM
To: [email protected]
Subject: [WiX-devs] Windows Installer/.NET 2.0/Broken Features


Hi,

We have found a bug with the broken features detection code of windows
installer, In the 1st part of the mail I will describe it in the second
part I will introduce the new Wix extension that we wrote to install
assemblies into the GAC.

The Bug:

When you use the MsiTableName and declare a .NET assembly as KeyPath the
feature integrity code will be invoke each time your application will
use that assembly. The problem is the It's a .NET 2.0 assembly and you
application is written with .NET 1.1. In that case the Windows Installer
will use Fusion (The assembly loader system) 1.1 which will return an
error when trying to read something of the assembly. You will see in the
event viewer a lot of "Detection of product '{Guid}' Feature
"{FeatureId}" failed during request for component '{Guid}'". You can fix
this by compiling you code with 2.0 or using requiredRuntime in the
app.config to bind you application to 2.0.
The problem is even more complex, normally applications written in 1.1
cannot access 2.0 assemblies but if you write a ServiceComponent in 2.0
and use it thru 1.1 then you will hit the bug.
There is anther way of reproducing this bug that is even more complex,
but eventually I think it all goes thru the same code path.
I know that the Wix team is not in charge for the Windows Installer core
code, and I would gladly send them this mail if I only knew where to.

The Solution:
We wrote a Wix extension that installs files into the GAC, I saw a lot
of posts about ppl complain that they need to install files in both
locations and that will require them to install the files twice and
doubling their MSI file. By using this extension will disable the
feature integrity check when using the assembly.

Here is a xml snippet of how to use the extension, I would gladly post
the code and everything to CVS if someone will ask me to.

<Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi'
xmlns:assm="http://schemas.microsoft.com/wix/2005/02/wixassm"; >
        <Component Id='MyComp' Guid='{GUID}'>
                <File Id='DotNet.DLL' KeyPath='yes' Name='DotNet.DLL'
src='.\DotNet.DLL' DiskId='1'/>
                <assm:Assembly RuntimeVersion='v2.0.50727' NGen='no'
GAC='yes' />
        </Component>
</Wix>

I hope someone will find it useful,

Regards,
-Shay Erlichmen.

________________________________________________________________________
____
______________
This electronic message contains information from Verint Systems, which
may be privileged and confidential.
The information is intended to be for the use of the individual(s)or
entity named above.
If you are not the intended recipient, be aware that any disclosure,
copying, distribution or use of the contents of this information is
prohibited.
If you have received this electronic message in error, please notify us
by replying to this email (1).


Using Tomcat but need to do more? Need to support web services,
security?
Get stuff done quickly with pre-integrated technology to make your job
easier Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs


________________________________________________________________________
____
______________
This electronic message contains information from Verint Systems, which
may be privileged and confidential.
The information is intended to be for the use of the individual(s)or
entity named above.
If you are not the intended recipient, be aware that any disclosure,
copying, distribution or use of the contents of this information is
prohibited.
If you have received this electronic message in error, please notify us
by replying to this email (1).


Using Tomcat but need to do more? Need to support web services,
security?
Get stuff done quickly with pre-integrated technology to make your job
easier Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs


____________________________________________________________________________
______________
This electronic message contains information from Verint Systems, which may
be privileged and confidential.

The information is intended to be for the use of the individual(s)or entity
named above.

If you are not the intended recipient, be aware that any disclosure,
copying, distribution or use of the contents of this information is
prohibited.

If you have received this electronic message in error, please notify us by
replying to this email (1).


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to