的InstallShield LE(与Visual Studio 2012)完全无法检测到的依赖(I

2019-07-31 23:28发布

我有一个噩梦试图让一个简单的安装中的InstallShield LE(一随VS 2012)的工作。 有各种各样的,我可以解决问题(喜欢这样的事实,我可以不再做“全部重建”没有它搞乱了一切 - 我需要在开发过程中只需卸载的InstallShield项目)。 但是,大不了是,当我建立我的安装程序,它包括各种DLL文件(包括那些第三方的人我的项目的一部分,而像实体框架DLL)的版本错误。

做一个“清理解决方案”,没有即使是在我的解决方案中的DLL解决问题。 有人发现我的机器上的某个地方随机版本(在某种编译器的临时文件夹),并坚持包括。 我最终固定,通过这样在Windows资源管理器搜索并删除它发现的每一个文件,但我担心下一次我做了释放它仍然会设法挑错文件。

另外,我需要有我的机器上都.NET 4和.NET 4.5版本的实体框架,并且它选择了错误的一个进入我的安装程序。 我不能删除的,我不希望它包括。

什么绝对的伪劣产品。 我可以 “升级”到完整版本,看看是否能解决这些问题的任何,但我最近与LE版本体验过使用任何他们的产品以后再令我望而却步。

任何人都有类似的问题? 你找到一个解决办法?

Answer 1:

旧文章也许这可以帮助你或其他人经历这个真气问题(假设你正在经历的错误一样-6225 )。

症状:

  • 你可以(重新)建立每个项目顺利,包括安装盾构工程
  • 但是,如果您构建解决方案 (多个项目)的错误似乎只是弹出

尝试:

  • 在VS 2012中,右键点击你的解决方案,并选择Project Build Order
  • 即使为了“看”的权利,继续设置依赖性
    • 例如,您的安装项目依赖于源项目(很明显,但由于这个工具并不“知道”它需要一些帮助)。

我不知道这样做是否解决了“错误的DLL”的问题(我没有经历过那种痛苦了......),但建议去检查项目成果可以帮助....上面没有解决我的问题。

是的,我同意,如果它甚至不能做平价VS2010和下面 的安装和部署项目的易用性,那么它的那些尚未另一种学习曲线是开发者必须处理(浪费时间)中的一个。 不准备把它以次充好,虽然,它确实有一些很不错的(R)糖果-甚至是“有限”的版本......。

无论如何,我希望这有助于....

更新1

是的,我可以正式称ISLE伪劣确实如此 。 我现在可怕经历了“丢失的DLL”(忘了错误的DLL,他们甚至在intall文件夹,借口丰富多彩的langauge但WTF ?? !!)问题。 ISLE不能确定正确的依赖关系 - 我不与以前的答案一致。 这个问题并没有随着内置有Setup and Deployment Project自2005年以来VS我们有过。

关于笨蛋MS举动同意意见。

一旦我解决这个问题,我会及时更新。

更新2

我的修复(如果有更好的办法,请提供答案)。所有这在ISLE UI做:

  1. 扫描的依赖-右键单击项目主输出 ,选择Dependencies from scan at build

  2. 你会看到,你将不得不手动添加的依赖关系,通过红色图标表示
    我未选中他们,所以我可以摆脱-6248警告这是非常奇怪的,因为恕我直言,它应该是在构建一个致命错误 -这怎么能安装/设置可能工作,如果它缺少的依赖关系? 警告继续构建,但它永远行不通

  3. 然后,(是) 手动添加自己上述的依赖...

顺便说一句,如果不确定这个问题-我通过导入 VS 2010中安装ISLE项目开工全过程( ISLE menu - > Visual Studio Deployment Project Import Wizard )。 我不知道如果这实际上事项-回复:将它仍然能够Dependencies from scan at build ,如果你开始(而不是导入)从头开始?

这么多的安装和部署为VS2012“进步” ......

希望这可以帮助!



Answer 2:

我最近一直在经历着你描述的问题:一个控制台应用程序建立正确,最多的依赖关系的最新版本bin目录,但是当使用InstallShield LE包装,使用依赖的DLL的旧版本。

正如你所说:

做一个“清理解决方案”,没有即使是在我的解决方案中的DLL解决问题。 有人发现我的机器上的某个地方随机版本(在某种编译器的临时文件夹),并坚持包括。

在我的情况下,问题的文件均位于ASP.NET动态编译缓存在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\rootC:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root

清除这些目录的内容,解决了这个问题。

顺便说一句,我认为有关将生成操作自动清空这些目录,但我不能没有落下所有权权限的家禽自动执行此操作。



Answer 3:

每个设置工具有它的问题。 请注意,没有工具可准确地检测出您的应用程序的依赖。 最好的工具可以做的是提出建议。 这就是为什么大多数开发商设置决定了依赖自己和手动它们包括在安装程序。

如果你不喜欢使用InstallShield,你可以尝试不同的设置工具: http://en.wikipedia.org/wiki/List_of_installation_software

高级安装的免费版本包括Visual Studio安装项目这可能会有帮助。



Answer 4:

如果不使用安装屏蔽的,你可以通过只是在做右键点击项目发布项目和发布向导来创建EXE作为单个图像或任何你选择最后安装由创建EXE时,它采取一切dependency..So照顾自动发布向导比安装所有的依赖这样的.NET Framework和如果需要通过你的应用程序的一些运行时框架比它会提醒您安装一个。

你可以看看这个

http://msdn.microsoft.com/en-IN/library/31kztyey.aspx



Answer 5:

我跟我的DLL中的一个问题。 有人抓住一个大年纪了一个从某处。 什么也没有在GAC此DLL。 我什么都试过。 最后,我只是通过右击并选择添加添加的文件部分的混账东西手动(ISLE)。 我发现在我的\ OBJ \发布文件夹中的DLL。 然后,我刚建的发行再次(SingleImage)和一切运行正常。



Answer 6:

您可以修复构建顺序问题上的解决方案通过右键点击(当您试图重新生成解决方案等) - >项目依赖 - >选择您的安装项目,并检查它使用的项目。 (在VS2013测试)

我预计的InstallShield项目当您选择它的源文件自动设置这些依赖关系,但显然事实并非如此。



文章来源: InstallShield LE (with Visual Studio 2012) completely fails to detect dependencies