我有一个安装程序应用程序的嵌入式.resx文件与一些信息,如服务器名称,端口,密码等.我必须为每个客户生成这个安装程序(这个过程是自动化的,并通过我们的网站完成)。这很好--我使用ildasm进行反汇编程序并替换resx文件,然后使用ilasm再次生成.exe。但是在这个过程之后,.exe失去了我们的图标,把默认的图标放在它的位置上。
我无法找到更改默认图标的方法。
谢谢
发布于 2013-06-20 12:20:56
在C#程序中,您忽略了一个相当模糊的细节。编译器生成的可执行文件还包含非托管资源。之所以需要,是因为Windows不知道任何有关托管资源的信息。这是在Visual中可以看到的东西。使用File + Open + File并选择由.exe编译器生成的C#。RTM版本要求,它不适用于快递。
您将看到至少有3个节点用于您的程序:
您需要使用/resource选项使ilasm.exe将这些非托管资源嵌入到修补好的可执行文件中。这需要一个.res文件,即rc.exe Windows工具生成的非托管资源的编译版本。注意如何在Project + Properties、Application选项卡、Resource file单选按钮中公开这一点。
您不能忽略此要求,您可以在没有图标资源的情况下生存,但不能使用清单,特别是在安装程序中。从原始可执行文件中提取.res文件将很困难,相当肯定的是,ildasm.exe不支持反编译它。如果像Resource这样的工具没有这样做,那么您就需要为您的程序编写create a .res file。或者回顾使用ildasm.exe来做您想做的事情的明智之处。
https://stackoverflow.com/questions/17212840
复制相似问题