2011-02-28 64 views
0

我有两个C#可执行文件,patcher.exe和generator.exe。
现在patcher.exe有一个.Net资源'config.dat',它是空的。动态更改可执行文件的资源

我想要的是generator.exe,可以更改(完全覆盖)修补程序的config.dat。这样我们就可以将不同配置的修补程序分发给不同的人,而实际上他们对内部处理知之甚少,也不知道如何生成config.dat。

那么如何从generator.exe动态地改变patcher.exe的.Net资源?

回答

1

您确定在运行时编辑嵌入式资源是您的追求吗?因为它需要重新编译。

从它的声音中,您可以通过app.config通过指定您希望在运行时以编程方式使用的应用程序域来实现此配置灵活性。

AppDomain.CurrentDomain.SetData("CONFIG_FILE", "C:\Path\To\File.config"); 

或通过创建custom configuration sections用户,并让这些包括:这可以通过实现。

最后,您可能还想查看一下MSDN上的示例中涉及具有多种不同语言翻译的应用程序的Satellite程序集。 Here


右道歉好像我误解了你想达到的目的。如果我理解正确,它看起来像你想实现沿this post.行的东西更多关于该方法的信息(承认样本不是C#代码)是on the MSDN,但是这给出了逻辑。然后您可以使用UpdateResource(....)。

+0

是的,我很确定这就是我所追求的。我不想重新编译源代码,我想编辑.exe文件中的资源。就像找到切入点一样,切断并粘贴新数据。如果它更容易通过内核添加本地资源。此外,描述中的名称只是为了清楚起见,但它根本不是配置文件。 – Aidiakapi 2011-02-28 13:54:15

+0

好的,我确定我更好地理解你现在想要达到的目标。我已经更新了我的帖子。 – tomahawk 2011-02-28 14:18:46

+0

好吧,我会看看它:) – Aidiakapi 2011-02-28 15:08:21