2011-02-28 62 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