有没有办法反汇编最初用托管代码编写的自定义操作?

Is there a way of disassembling a Custom Action written originally in managed code?

在 WiX 中,当我用 C# 编写 CustomAction 时,Visual Studio 构建首先从我的 C# 源代码构建一个小 dll,然后将该小 dll 与 SfxCA.dll 组合,创建实际文件被添加到 MSI 中的二进制 table。

构建 MSI 后,如果我从 MSI 中提取二进制对象并在其上 运行 ildasm,反汇编不会成功。

我必须对 MSI 中的二进制自定义操作对象执行哪些操作才能将其反汇编回 C# 源代码?

您可以在 7zip 中打开 *.CA.dll as cab 并提取所有打包文件。然后使用您选择的反汇编程序来获取代码。