代码之家  ›  专栏  ›  技术社区  ›  Byron Whitlock

如何将资源注入已构建的可执行文件

  •  1
  • Byron Whitlock  · 技术社区  · 14 年前

    我正在开发一个需要打上商标的windows应用程序。客户将把这个出售给其他企业,并需要为每次出售定制的标志和名称。

    客户端不知道如何使用visual studio!

    我想我需要编写一个打包应用程序,将自定义徽标和字符串资源注入到可执行文件中。我正在计划使用WPF。但是由于这是一个关键的需求,如果更容易的话,我愿意用winforms来实现。

    最好的方法是什么?欢迎提出任何建议。

    4 回复  |  直到 14 年前
        1
  •  4
  •   Brad Cunningham    14 年前

    听起来你想要的是应用程序蒙皮。这并不意味着您必须解压缩exe并注入资源。您只需要从项目开始考虑蒙皮,并构建应用程序来支持您的蒙皮需求。

    最简单的方法是让徽标图像保持松散,并使用需要显示此图像的XAML文件的相对路径引用它。

    您应该研究WPF中的资源字典,以及它们如何帮助您对资源进行分组并支持蒙皮。 http://msdn.microsoft.com/en-us/library/ms750613.aspx

    文本会有点不同,但我不确定你需要什么,因为一个文本去。您的意思是您需要本地化字符串,还是只需要不同的文本(所有相同的语言环境)来为不同的客户机显示?

        2
  •  2
  •   Giorgi    14 年前

    一种可能的解决方案(可能不是最简单的方案)是使用父应用程序来编译源代码以生成子应用程序。你可以用它 CSharpCodeProvider CompilerParameters 上课。将图像添加为嵌入资源并在子应用程序中检索它。一个源代码的工作演示可以在 Slide Show Builder .

        4
  •  0
  •   Hans Passant    14 年前

    简单的解决方案是将位图和EXE作为单独的文件一起提供。实际上,替换EXE中的嵌入资源需要用 ildasm.exe 把它和 ilasm.exe . Ildasm.exe 仅在Windows SDK中可用,可以单独下载。很容易出错,而且很小的几率让你的客户做对了,你需要给他们提供一个.bat文件。

    当然,不管出于什么原因,任何有兴趣更换logo的人都不会因为更换单独的图像文件而放慢速度 使用 反汇编程序