使用 MSBuild 构建解决方案包括 InstallShield Project

Using MSBuild for Build solution include InstallShield ProjecT

我正在用 C# 做一个项目。在我的解决方案中,我有一个 instalsheld 项目,当我直接从 visual studio 编译时它运行良好,我有一个已生成并准备好安装的设置。

出于各种原因,我希望能够使用 MSBuild 通过命令行解决方案进行编译。一切正常,但尽管有任何错误,我的设置仍无法正确生成。

下面是我从visual studio编译installshield项目时的日志:

Log InstallShield compile from visual studio

使用 MSBuild :

Log InstallShield compile from command line using MSBuild

我们注意到在构建文件 table 的步骤中,从 visual studio 我们有组件 'RegieCiel.Primary_output' 的依赖性,所以我们很好。自 MSbuild 以来,没有添加任何内容....

那么发生的事情是,在安装程序的安装过程中,它缺少依赖项。

我首先想到的是构建顺序,但它在这两种情况下都适用吗?

你怎么看?

我避免像瘟疫这样的项目输出参考。我建议使用 Application.sln 和 Installer.sln。让您在 application.sln 中的最终项目(EXE、Web 项目)执行构建后 xcopy 或 MSBuild 发布配置文件,并创建一个目录来为您部署的应用程序建模。从那里使用 InstallShield 中的一个路径变量将所有这些文件作为静态链接指向。还要确保关闭所有依赖项扫描。您希望 100% 控制项目中可以做什么和不可以做什么。

感谢您的回答,实际上我认为张贴并不能解决问题 "static" 会解决问题。

不过我找了很久终于找到了!

在我的解决方案中,我有一个名为 "SlowCheetah" 的包来管理多个配置文件。通过卸载它,重新启动 MSbuild,我的安装程序完美运行!

感谢您的帮助!