The File element is necessary, but primarily serves as the source. 
Windows Installer delegates to fusion to install the assembly, and 
fusion does not allow for any other files that are not part of the 
assembly. This is the source of the error.

If you want to have a copy of the file elsewhere (like for binding in 
VS) then you need to have a separate component and File element. If the 
@Source attribute points to the same file, more recent versions of WiX 
will only store one file in a cabinet (assuming they're in the same 
Media, of course) instead of storing multiple files.

ArunKumar ArcotVijayaKumar wrote:
>
> 1. Does the component for installing a .net assembly in to GAC, should 
> contain only the File element that places the assembly in to the GAC ?
>
> If I place some other File elements, like the corresponding XML files, 
> Im getting an Error 1935. HRESULT: 0x80131043. It is my understanding 
> that Wix/MSI assumes the other components to be part of assembly and 
> tries to put them in GAC, and so the error. But why would wix/msi do 
> this, thought there is no assembly manifest specified in the script ?
>
>
> 2. By having only the File element placing the assembly in to GAC in a 
> component , I do succeed placing the assembly in GAC, but I do not see 
> the assembly in the windows directory. Wix/Msi deletes the directory 
> and assembly after placing them in the GAC. How will you place an 
> assembly both in the directory as well as GAC ?
>
>
> 3.What is the use of AssemblyApplication attribute on File Element ? 
> It is only as good as not specifying Assembly=".net" attribute.
>
>
> 4. I have an .net assembly and corresponding xml file, that needs to 
> be dropped inside a windows directory, and the assembly to be placed 
> in GAC. My understanding was to do all these three inside a Component, 
> as I consider them as single unit of operation..
>
> <Fragment >
> <DirectoryRef Id= "v1.0">
> <Component Id="Communication" Guid 
> ="E176CE6C-B4E8-4EB1-8A3C-044F4A834CEC">
> <File Id ="MyAssembly_GAC" Assembly=".net" KeyPath ="yes"
> Name ="MyAssembly.dll"
> Source =".\source\MyAssembly.dll"></File>
> <File Id ="MyAssembly.XML"
> Name ="MyAssembly.XML"
> Source =".\source\MyAssembly.XML"></File>
> </Component>
> </DirectoryRef>
> </Fragment>
>
> Apparently this wouldn’t work , give me an Error 1935. HRESULT: 
> 0x80131043 , so what is the proffered or standard way of doing this ? 
> I need the assembly both in a directory and GAC for compile and 
> runtime references.
>
>
> Thanks for the help in advance.
>
> _*thanks *_* *
> *Arun*
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> ------------------------------------------------------------------------
>
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>   

-- 

Heath Stewart
Deployment Technology Group, Microsoft
http://blogs.msdn.com/heaths


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to