.net - 如何使用命令行实用程序编辑 exe 的资源(文件描述、图标等)?

标签 .net deployment resources windows-installer iexpress

整个故事: 我创建了一个精美的 .NET 程序,它有一个由 Visual Studio 安装程序 (VSI) 创建的安装程序。 VSI 创建 2 个文件(setup.exe 和 MyProgramSetup.msi)。我了解需要这两个文件的原因,但是,我只想向用户分发一个可执行安装程序。我不希望他们看到 2 个文件并必须在它们之间进行选择。

为了做到这一点,我使用 IExpress 将这 2 个文件合并到一个自解压存档中(如本答案所示: Merge msi and exe )。这很有效,但是,创建的自解压存档有一个丑陋的图标和令人困惑的文件信息(文件描述是“Win32 Cabinet Self-Extractor”,后面有 43 个空格)。

我需要用我的自定义图标替换图标,并更改一些文件属性,例如“描述”、“公司”等。我希望将此作为构建步骤自动完成,以便拥有一个程序命令行/控制台实用程序会很棒。

我已经搜索了一段时间,只能找到一个完全符合我想要的功能的程序(ResourceTuner Console:http://www.heaventools.com/command-line_resource_editor.htm),但它花费了一大笔钱,而我的预算是 0 美元。

有谁知道更好的方法来实现我想要的,或者知道一个程序可以替换可执行文件的资源而无需使用 GUI?

顺便说一下,我还尝试过 SiComponents 的 Resource Builder 3,它甚至无法打开可执行文件,以及 ResEdit,它在执行命令时崩溃:

resedit.exe -convert "Modified Resources.rc" "MyProgramSetup.exe"

最佳答案

如果打开可执行文件,Visual Studio 就可以编辑它们。不过,我不确定是否有办法从命令行执行此操作。

有一个像样的CodeProject article处理图标(包括将它们保存到 exe 文件中)。

公司名称、描述等是版本资源的一部分。另CodeProject article涵盖更新版本资源,尽管我还没有深入研究过该资源。

关于.net - 如何使用命令行实用程序编辑 exe 的资源(文件描述、图标等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886561/

相关文章:

c# - 将 xmlstring 转换为 XmlNode

.net - 颠覆 : Branch per Environment?

mysql - Rails 尝试插入时找不到用户记录

svn - 如何设置 SVN 存储库以进行紧急修复?

java - 在 Java 中加载一次资源

image - JavaFX - 资源路径和加载图像

c# - 为什么静态类的成员需要声明为静态的?为什么它不只是隐含的?

.net - WPF 中的 WinForms WebBrowser 内存泄漏

c++ - 学习 C++ 网络的资源

.net - 默认情况下,线程是否在多个内核上运行?