2017-08-31 74 views
0

我正在做一个C#项目。在我的解决方案中,我有一个installsheld项目,当我直接从visual studio编译时工作得很好,我有一个生成的安装程序,可以安装。使用MSBuild构建解决方案包括InstallShield ProjecT

我想各种各样的理由能够使用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,没有什么是添加....

所以会发生的是,在安装安装过程中,它缺乏依赖关系。

我首先想到了构建顺序,但它会在两种情况下都起作用?

您认为如何?

回答

0

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

但经过漫长的搜索,我终于找到了!

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

谢谢你的帮助!

+0

感谢您在这里分享您的解决方案,您可以将其标记为答案,这样可以帮助其他社区成员获得相同的问题。 –

0

我避免像鼠疫这样的项目输出参考。我建议有一个Application.sln和一个Installer.sln。让application.sln(EXE,Web Projects)中的最终项目执行postbuild xcopy或MSBuild发布配置文件,并创建一个模型化已部署应用程序的目录。从那里使用InstallShield中的一个路径变量将所有这些文件指向静态链接。还要确保关闭所有依赖扫描。你想100%控制什么,哪些不会进入你的项目。

相关问题