嵌入资源大小

时间:2015-06-10 07:32:42

标签: c# .net

我有一个用C#开发的应用程序可以做一些事情。我决定嵌入一个.msi我希望在一个过程中被调用。 executable大小约为5MB,.msi大小约为150MB。但是当编译嵌入.msi的新可执行文件时,现在是400MB !!

这是为什么?嵌入资源是否会增加最终的.exe大小?

1 个答案:

答案 0 :(得分:1)

由于用户发布了here的内容,我最终得出了结论。

当我将.msi作为资源添加时,我最后得到了同一个文件的两个副本。这就是我将最终可执行文件的大小加倍的原因。

  • 我的.msi的一个副本,因为它在我的项目中被链接为资源
  • 另一个副本是因为项目的编译链接了另一个副本

所以我做了以下事情:

  • .msi
  • 删除Resources
  • 在我想要的文件夹上,我只需拨打Add->Existing Item
  • 即可添加
  • 然后我将Build action的{​​{1}}更改为.msi并将其嵌入我的应用程序中,但它没有被调用两次,因为它不被视为Embedded Resource

或多或少这就是答案。