Can't build wix project after conversion

Add-in Express™ Support Service
That's what is more important than anything else

Can't build wix project after conversion
 
Paul Shaffer


Guest


vdproj to wix 1.7 build problem: After converting my vdproj to wix I am getting dozens of system can't find file errors. How can I fix this? I have no idea what's wrong or how to approach. Below is an example of one of the errors.

Error 1 The system cannot find the file 'DevExpress.Printing.v15.1.Core.dll'.

From .wxs file:

<Component Id='com_1ECC96F5_4272_A5D6_B563_E79F084CE8F0' Guid='EF9F1854-9D91-455A-9677-428277B190C6' Permanent='no' SharedDllRefCount='no' Transitive='no'> <File Id='_1ECC96F5_4272_A5D6_B563_E79F084CE8F0' DiskId='1' Hidden='no' ReadOnly='no' System='no' Vital='yes' Compressed='yes' Name='DevExpress.Printing.v15.1.Core.dll' Source='DevExpress.Printing.v15.1.Core.dll' KeyPath='yes' />
</Component>
Posted 19 Nov, 2015 19:25:38 Top
Andrei Smolin


Add-in Express team


Posts: 18821
Joined: 2006-05-11
Hello Paul,

It looks like there's a problem(s) with the original project. Make sure if it builds with no errors/warnings.


Andrei Smolin
Add-in Express Team Leader
Posted 20 Nov, 2015 03:20:31 Top
Paul Shaffer


Guest



It looks like there's a problem(s) with the original project. Make sure if it builds with no errors/warnings.


That's what I did. I went so far as to carefully re-create the vdproj install in vs2010, tested it as working. Then I converted it to a Wix install and ran the build on it. Only one component error this time instead of dozens. The only resolution that worked was to comment out the component in the product.wsx file. This dll is not one of the references in any of the solution projects so I don't know why it's a component in the .wsx file.
This is the line I commented out.

<Component Id='com_903A1F53_FD2C_C887_11EB_5FB691DD4265' Guid='562B4B56-00C1-41BA-839F-042874950C30' Permanent='no' SharedDllRefCount='no' Transitive='no'>
<File Id='_903A1F53_FD2C_C887_11EB_5FB691DD4265' DiskId='1' Hidden='no' ReadOnly='no' System='no' Vital='yes' Compressed='yes' Name='System.ServiceModel.Internals.dll' Source='$(env.WinDir)\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll' KeyPath='yes' />
</Component>

This is the error:
Error 73 The system cannot find the file 'C:\Windows\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll'.

The solution targets .Net 4 and System.ServiceModel.Internals.dll is actually in C:\Windows\Microsoft.NET\assembly\GAC_MSIL. So the .wsx file is incorrect. I changed the source to

Source='$(env.WinDir)\microsoft.net\assembly\GAC_MSIL\System.ServiceModel.Internals....

and it built okay. I am concerned now that all my system component Source attributes should be changed to the .net 4 GAC location.
Posted 20 Nov, 2015 13:08:34 Top
Andrei Smolin


Add-in Express team


Posts: 18821
Joined: 2006-05-11
HEllo Paul,

Paul Shaffer writes:
The solution targets .Net 4 and System.ServiceModel.Internals.dll is actually in C:\Windows\Microsoft.NET\assembly\GAC_MSIL. So the .wsx file is incorrect


That path is specified in the .VDPROJ file. I suppose it gets specified when you create a reference.


Andrei Smolin
Add-in Express Team Leader
Posted 23 Nov, 2015 06:54:10 Top