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