我有一个.msi输出的.Net解决方案。运行混淆(使用Dotfuscate
)会引发以下错误:
PE Signature not found. Is \Release\Output.msi a PE file?
想知道Dotfuscate
是否不支持。msi
文件混淆。
感谢您的帮助!
答案 0 :(得分:1)
Dotfuscator不会混淆.msi
文件,而只会混淆.NET程序集(使用C#,F#或Visual Basic .NET制作的.dll
和.exe
文件)。如果要在.msi
中运送.NET程序集,则在将它们添加到.msi
之前,需要使用Dotfuscator保护它们。
最简单的方法是integrate Dotfuscator into your app's .exe
project。然后,当您在Visual Studio或MSBuild中构建项目时,Dotfuscator将保护bin\Release
中的程序集(集成项目中的.exe
和您项目中其他项目中的.dll
)解决方案),然后您的.msi
可以正常使用。这也使Dotfuscator可以与其他打包格式一起使用,例如Xamarin,因为此集成在项目编译之后但打包之前运行。
(免责声明:我为Dotfuscator团队工作,并且正在做我的工作。)