用可执行文件捆绑一些信息?

时间:2012-09-18 11:27:18

标签: c# asp.net iis-7.5 clickonce

我在我的网络服务器上使用IIS 7.5,我正在创建一个我发布到该服务器的C#WPF程序,以便人们可以下载该程序。

现在,人们使用http://.../Software/Shapeshifter/Setup.exe

下载程序

但是,我希望杂志等的编辑能够制作我的节目的品牌副本,以便他们可以选择品牌。

例如此链接: http://.../Software/Shapeshifter/Setup.exe?brandName=test&brandImage=http://uriToImage.example.com

然后在我的程序启动时读取它,正确地为应用程序打上标记。

目前我使用ClickOnce来执行此操作,因为它允许Web调用此类参数。但是,它只能在Internet Explorer中正常运行。

我一直在考虑以下方案来解决它:

  1. 创建一个.EXE文件HttpHandler。
  2. 请求.EXE文件时,请检查参数。
  3. 以某种方式将参数嵌入到.EXE文件中(我该怎么办?)
  4. 从应用程序中读取参数(再次,我该怎么做?)
  5. 为了使一切变得简单,让我们说我的程序是单个.EXE文件,而Setup.exe实际上是程序的可执行文件本身,没有任何包装器安装程序(即使不是这样) )。

    有什么建议吗?

1 个答案:

答案 0 :(得分:1)

老实说,我首先要在EXE中编译一个巨大的字符串资源,可以很容易地识别(非常特定的HEX组合),打开EXE作为二进制文件,搜索这个位置并将任何数据放在那里。不完美,但应该有效。

但在深入挖掘网络后,我终于找到了一个免费的资源编辑器,并支持从命令行执行。

该工具为Resource Hacker。 命令行用法在tutorial中描述(搜索“在资源黑客中使用脚本”)