为多个项目创建一个 MSI
我有 2 个项目。我想创建一个 MSI 安装包来安装这两个项目。
在我的应用程序文件夹中,我创建了 2 个子文件夹(项目 A 和项目 B 文件夹)。所以安装后,项目输出将在 程序文件\MyProduct\项目 A Program Files\MyProduct\Project B
我遇到的问题是项目 A 和项目 B 引用了一些常见的程序集。 但那些通用程序集仅复制到 Project A 文件夹中。
有没有办法强制 msi 将通用程序集复制到项目 A 和项目 B 文件夹?
I have 2 projects. I want to create ONE single MSI setup package that will install both of those projects.
In My Application Folder I have created 2 subfolders (Project A and Project B folder). So after the install, the project ouputs will be in
Program Files\MyProduct\Project A
Program Files\MyProduct\Project B
The problem I am having is that Project A and Project B references some common assemblies.
But those common assemblies is only copied to Project A folder.
Is there a way to force the msi to copy the common assemblies to Project A and Project B folder ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
作为构建过程的一部分,从 Visual Studio 中构建 MSI 安装程序并不总是最灵活的方法。我个人使用 NSIS,因为它非常强大,但如果您想构建 MSI 安装程序,我建议您查看 Wix< /a>.
我很少让 Visual Studio 自动为我做事 - 我喜欢明确声明安装了哪些 dll 以及安装位置。
Building MSI installers from within Visual Studio, as part of the build process, isn't always the most flexible method. I personally use NSIS as it is extremely powerful but if you're looking to build MSI installers, I suggest you look at Wix.
I rarely let Visual Studio do things for me automatically - I like to be explicit when it comes to declaring which dlls are installed, and where.
在您的安装项目中,我假设您有两个文件夹,每个项目一个。选择缺少 .dll 的文件夹并右键单击它,点击“添加”->“文件...”,然后选择要强制包含在项目输出中的 .dll。
In your setup project I assume you have two folders, one for each project. Select the folder that is missing the .dll(s) and right-click it, hit Add->File... and choose the .dll that you want to force to be included with the project output.