-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Geoff Finger
Sent: 20 October 2006 00:54
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Private Assemblies with Wix


I hope this email gets through (several earlier emails sent from my gmail
account resulted in "SMTP Error (state 9): 451-Could not complete sender
verify callout")

I've been working on the Wix installer for a project at my company for the
past couple weeks, but the project manager has decided that we should
install all our private dll's and exe's as assemblies. These files aren't
actually compiled as assemblies but he thinks we may be able to do so
anyways by making them private assemblies since those don't require signing.

I haven't been able to find much documentation about assemblies here or in
the tutorial on tramontana, but I've pieced together the following in the
primary feature in the main wxs file:

<Component Id="CrDllComponent" Guid="MyGuid" Win64="$(var.IS64)">
        <File Id="CrDllFile" Name="cr.dll" KeyPath="yes"
        src="..\..\repository\Build\$(var.PLATFORM)\Release\cr.dll"
Vital="yes" 
        DiskId="1" Assembly=".net">
                <AssemblyName Id="Name" Value="Assembly"/>
                <AssemblyName Id="FileVersion"
Value="$(var.PRODUCT_VERSION)"/>
                <AssemblyName Id="Culture" Value="neutral" />
        </File>
</Component>

--8<--snip--8<--

I have a general rule I follow. It goes, 'if it hurts when you do this,
don't do that.'

If you're talking about .NET, anything compiled to the CLR is automatically
an assembly. If an assembly is strong-named, the actual target version of
the assembly is compiled into the referencing assembly. At run-time, the
Framework will look for strong-named assemblies in the GAC first, then in
the local folder, then under the culture, a 'bin' folder, then
'bin\<culture>', then fail. For a non-strong-named-assembly, the GAC is not
checked. Generally, I only sign an assembly if I actually intend it to be
shared, and install it to the GAC; if it's only intended for one
application, or not designed for compatibility between versions, I don't
sign it and install to the application directory. These can only be serviced
as part of an application.

The Assembly=".net" attribute instructs Windows Installer to add the
assembly to the GAC. You cannot do this if it is not strongly-named - the
Framework will not let you (and as I said, it would be pointless to try
since the Framework won't look there for the assembly anyway).

Tell your project manager that the technology does not support his
suggestion.

-- 
Mike Dimmick


-------------------------------------------------------------------------
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-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to