首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstallShield和ConfuserEx

InstallShield和ConfuserEx
EN

Stack Overflow用户
提问于 2015-05-07 15:32:08
回答 1查看 936关注 0票数 3

我想用ConfuserEx混淆我的源代码,所以我创建了一个ConfuserEx-project文件,看起来像这样:

代码语言:javascript
复制
<project baseDir="." outputDir="." xmlns="http://confuser.codeplex.com">
    <rule pattern="true" inherit="false">
        <protection id="rename" />
        <protection id="ctrl flow" />
        <protection id="ref proxy" />
        <protection id="anti debug" />
        <protection id="anti dump" />
        <protection id="constants" />
        <protection id="resources" />
        <protection id="anti tamper" />
      </rule>
     <module path="MainApplication\bin\Release\MainApplication.exe" />
     <module path="MainApplication\bin\Release\Component.Hardware.dll" />
     <module path="MainApplication\bin\Release\Component.Log.dll" />
     <module path="MainApplication\bin\Release\Component.Service.dll" />
     <module path="MainApplication\bin\Release\Component.Software.dll" />
     <module path="MainApplication\bin\Release\AsynchronousSocket.dll" />
     <module path="MainApplication\bin\Release\Instrumentation.dll" />  
</project>

由于我希望通过安装程序来部署应用程序,因此我创建了主应用程序项目的InstallShield安装程序。我选择主输出。

在Visual Studio中的Postbuild-Event中,我使用crproj-file作为参数调用Confuser.CLI.exe。但是,只有MainApplication.exeAsynchronousSocket.dll + Instrumentation.dll使用ConfuserEx进行了修改。这4个Component.*.dll文件不是,我不得不说所有的程序集都是不同的项目。因此,我的项目解决方案结构如下所示:

代码语言:javascript
复制
MyProject
    MyProject.MainApplication
    MyProject.Component.Hardware
    MyProject.Component.Software
    MyProject.Component.Log
    MyProject.Component.Service
    MyProject.AsynchronousSocket
    MyProject.Instrumentation
    MyProject.Setup
    MyProject.sln
    MyProject.crpoj

我的猜测是我采用了错误的InstallShield使用的程序集。我还尝试使用MyProject.Component.Service\bin\ReleaseMyProject.Component.Service\obj\Release中的程序集,但这两个选项都不起作用。我不认为使用MainApplication\obj\Release是可行的,因为只有被定位的MainApplication.exe

谁能告诉我InstallShield从哪里获取主要输出,或者我是否遗漏了其他东西?

EN

回答 1

Stack Overflow用户

发布于 2019-04-29 15:00:52

一种可能的解决方案是多个crproj文件,每个二进制文件一个,并在每个项目的构建后步骤中指定特定于项目的crproj文件。MainApplication.crproj

代码语言:javascript
复制
<project baseDir="." outputDir="." xmlns="http://confuser.codeplex.com">
    <rule pattern="true" inherit="false">
        <protection id="rename" />
        <protection id="ctrl flow" />
        <protection id="ref proxy" />
        <protection id="anti debug" />
        <protection id="anti dump" />
        <protection id="constants" />
        <protection id="resources" />
        <protection id="anti tamper" />
      </rule>
     <module path="MainApplication\bin\Release\MainApplication.exe" />
</project>

Component.Hardware.dll.crproj

代码语言:javascript
复制
<project baseDir="." outputDir="." xmlns="http://confuser.codeplex.com">
    <rule pattern="true" inherit="false">
        <protection id="rename" />
        <protection id="ctrl flow" />
        <protection id="ref proxy" />
        <protection id="anti debug" />
        <protection id="anti dump" />
        <protection id="constants" />
        <protection id="resources" />
        <protection id="anti tamper" />
      </rule>
     <module path="MainApplication\bin\Release\Component.Hardware.dll" />
</project>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30094596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档