使用MSBuild for Build解决方案包括InstallShield ProjecT

时间:2017-08-31 16:12:02

标签: c# visual-studio msbuild installshield

我正在用C#做一个项目。在我的解决方案中,我有一个installsheld项目,当我直接从visual studio编译时,它运行得非常好,我有一个生成的设置,可以安装。

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

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

Log InstallShield compile from visual studio

使用MSBuild:

Log InstallShield compile from command line using MSBuild

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

所以会发生在安装安装过程中,缺少依赖关系。

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

您怎么看?

2 个答案:

答案 0 :(得分:0)

我避免像瘟疫这样的项目输出引用。我建议有一个Application.sln和一个Installer.sln。让您在application.sln(EXE,Web Projects)中的最终项目执行postbuild xcopy或MSBuild发布配置文件,并创建一个为已部署的应用程序建模的目录。从那里使用InstallShield中的一个Path Variable将所有这些文件指向静态链接。还要确保关闭所有依赖项扫描。您希望100%控制项目的内容和内容。

答案 1 :(得分:0)

我感谢你的回答,实际上我认为提出并不能解决问题的“静态”解决方案。

然而,经过长时间的搜索,我终于找到了!

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

感谢您的帮助!