On Fri, 20 Oct 2006, Mike Dimmick wrote:

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

Yes, we're using .Net so I was told that all the files already have an 
internal manifest so I shouldn't need to worry about an external manifest 
file. We intend to make the public dll's shared at some point in the 
future, so I think the intent is to be consistent by treating all the 
dll's and exe's as assemblies, either shared or private.

So would the above code be correct if it were a shared dll? (If I added a 
publicKeyToken value at least) What do i need to change in order to 
have cr.dll treated as a private assembly? I tried just changing ".net" 
to "win32", however for some reason that caused light.exe to start 
generating errors about other unrelated files in other features, saying 
"file.ext : error LGHT0124 : Not a valid manifest file; detail: Data at 
the root level is invalid. Line 1, position 1."

And i'd still like to know if thee are actually any good tutorials on the 
subject since even if I end up having to give up on the private assemblies 
I'll need to figure out how to handle the shared assemblies later.

Thanks!


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