Including an 3rd exe install

Mar 27 at 6:06 PM
Edited Mar 27 at 7:12 PM
(Sorry for the bad title, but it can't be edited)

Previously, using WixSharp 1.0, we had an 3rd party exe (an installer) that was included in our source files. A custom action started the exe at the end of our install.

Now, having upgraded to the latest via NuGet, the same project gets an error during:

System.BadImageFormatException: Could not load file or assembly 'file:///C:\3rdparty.exe' or one of its dependencies. The module was expected to contain an assembly manifest.

Server stack trace:
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String
codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean
throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName
assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly,
StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean
throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile,
Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm
hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks,
StackCrawlMark& stackMark)
at System.Reflection.Assembly.ReflectionOnlyLoadFrom(String assemblyFile)
at WixSharp.AsmReflector.OriginalAssemblyFile(String file)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage
(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)
at WixSharp.AsmReflector.OriginalAssemblyFile(String file)
at
WixSharp.Utils.<>c__DisplayClass4_0.<OriginalAssemblyFile>b__0(AsmReflector
asm)
at WixSharp.Utils.ExecuteInTempDomain[T](Func2 action)
at WixSharp.Utils.OriginalAssemblyFile(String file)
at WixSharp.Compiler.PackageManagedAsm(String asm, String nativeDll,
String[] refAssemblies, String outDir, String configFilePath, Nullable
1
platform, Boolean embeddedUI, String batchFile)
at WixSharp.Compiler.ProcessCustomActions(Project wProject, XElement
product)
at WixSharp.Compiler.GenerateWixProj(Project project)
at WixSharp.Compiler.BuildWxs(Project project, String path, OutputType type)
at WixSharp.Compiler.BuildWxs(Project project, OutputType type)
at WixSharp.Compiler.Build(Project project, String path, OutputType type)
at WixSharp.Compiler.Build(Project project, OutputType type)
at MsiBuilder.MsiBuilder.Build() ...

=> var msi = Compiler.BuildMsi(project);


Note that the 3rd party exe is listed in the project.DefaultRefAssemblies.
Ideas?

Pete
Mar 28 at 11:11 PM
Has been answered on GitHub.