我正在经历一场噩梦,试图让一个简单的安装程序在 InstallShield LE(VS 2012 附带的那个)中工作。我可以解决各种各样的问题(例如我不能再执行“全部重建”而不搞乱一切 - 我需要在开发过程中简单地卸载 InstallShield 项目)。但最重要的是,当我构建安装程序时,它包含了各种 DLL 的错误版本(包括属于我的项目的那些,以及诸如实体框架 DLL 之类的第三方 DLL)。
执行“干净的解决方案”甚至没有解决我的解决方案中的 DLL 问题。它在我的机器上的某个地方(在某种编译器临时目录中)找到了一个随机版本,并坚持将其包含在内。我最终通过在 Windows 资源管理器中进行搜索并删除找到的每个文件来解决了这个问题,但我担心下次发布时它仍然会选择错误的文件。
另外,我的计算机上需要同时安装 .NET 4 和 .NET 4.5 版本的实体框架,但它选择了错误的版本进入我的安装程序。我无法删除我不希望它包含的内容。
绝对是劣质产品。我could“升级”到完整版本,看看是否可以解决这些问题,但我最近使用 LE 版本的经历让我不再使用他们的任何产品。
还有其他人遇到过类似的问题吗?你找到解决办法了吗?
旧帖子,所以也许这可以帮助您或其他人解决这个令人恼火的问题(假设您遇到错误).
症状:
- 您可以顺利(重新)构建每个项目,包括 Install Shield 项目
- 但是,如果您构建Solution(多个项目)错误似乎突然出现
Try:
- 在 VS 2012 中,右键单击您的解决方案并选择
Project Build Order
- even if the order "looks" right, continue to set dependencies
- 例如您的安装项目取决于源项目(显然,但由于该工具不“知道”它需要一些帮助)。
我不确定这是否解决了“错误的 dll”问题(我还没有经历过那种痛苦......),但检查项目输出的建议可能会有所帮助......上面确实解决了我的问题。
是的,我同意,如果它甚至不能与VS2010及以下版本 设置和部署项目的易用性,那么它就是开发人员必须处理的另一个学习曲线之一(浪费时间)。 尽管不准备称其为劣质产品,但它确实有一些不错的糖果 - 甚至是“限量”版本......。
无论如何,我希望这会有所帮助......
Update 1
是的,我可以正式称 ISLE 确实很劣质。我现在正在经历可怕的“缺少 dll”(忘记错误的 dll,它们甚至不在 intall 文件夹中,请原谅多彩的语言,但 WTF?!!)问题。 ISLE 无法识别正确的依赖关系 - 而且我不同意前面的答案。这个问题DID NOT与内置存在Setup and Deployment Project
我们从 VS 2005 就开始了。
同意关于白痴 MS 移动的评论。
一旦我解决了这个问题,我就会更新。
Update 2
我的修复(如果有更好的方法,请提供答案)..所有这些都是在 ISLE UI 中完成的:
Scan for dependencies - right click project primary output, select Dependencies from scan at build
You will see the dependencies you will have to manually add, indicated by a red icon
I unchecked them so I could get rid of the -6248 warning which is really odd because IMHO it should be a fatal error in the build - How can this install/setup possibly work if it's missing dependencies?? A warning continues the build, yet it will never work!
好的)manually添加您在上面确定的依赖项...
顺便说一句,不确定这是否重要 - 我开始了整个过程输入使用 ISLE 的 VS 2010 安装项目(ISLE menu
-> Visual Studio Deployment Project Import Wizard
)。我不确定这是否真的重要 - 回复:它仍然能够Dependencies from scan at build
如果你从头开始(而不是导入)?
VS2012 设置和部署的“进展”就这么多了……
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)