Consider the command line:
"c:\Program Files (x86)\WiX Toolset v3.9\bin\dark.exe" -out "d:\Test\Product.wxs" "d:\Test\Setup.msi" -ext "c:\Program Files (x86)\WiX Toolset v3.9\bin\WixUIExtension.dll" -x "d:\Test\Bin"
which successfully "decompiles" an in installer a "Product.wxs" file. I have to write a C# function that parametrizes the command line with the installer file. I wrote the following code:
string Path = "C:\\Program Files (x86)\\WiX Toolset v3.9\\bin\\dark.exe";
string Args = "D:\\Test\\Setup.msi -out D:\\Test\\Product.wxs -x D:\\Test\\Bin -ext C:\\Program Files (x86)\\WiX Toolset v3.9\\bin\\WixUIExtension.dll";
Process pi = Process.Start(Path, Args);
But Process.Start
function returns a Process whose MainModule throws a Win32 Exception, with message:
Only part of a ReadProcessMemory or WriteProcessMemory request was completed
Where is the error, and how can I fix it?
Solved!
If Args == "\"D:\\Test\\Setup.msi\" -out \"D:\\Test\\Product.wxs\" -x \"D:\\Test\\Bin\" -ext \"C:\\Program Files (x86)\\WiX Toolset v3.9\\bin\\WixUIExtension.dll\""
the programs works