【发布时间】:2009-02-27 00:56:22
【问题描述】:
我继承了一个依赖于第三方库的应用程序,而后者又依赖于 Visual J#.NET。
该应用程序之前是在 Visual Studio 2005 上开发的,我已经在 VS2008 上成功构建了它。
在其他组件中,它包括一个部署项目,该项目将几个可执行文件(加上依赖项,包括此库)构建到 Windows 安装程序 MSI 中。
由于 VJ# 依赖性,部署项目(显然)使用 VJSharpRedist_x86.msm 合并模块。此合并模块似乎检测到 VJ# 包的存在,如果未安装,则提示用户从 Web 下载它。
但目前我找不到包含 VJ# 的合并模块的包。尽管项目构建没有错误,但生成的 MSI 无法安装。它启动,未能检测到机器上正确安装的 VJ#,然后显示一个对话框,其中只有文本“1:”和两个按钮“是”和“否”。点击“是”打开部署项目中指定的 url,点击“否”取消安装。
(打包到 MSI 中的可执行文件可以正常工作,如果它们被手动复制到机器上,但 MSI 拒绝安装它们。)
到目前为止,我已经安装了:
- Visual Studio 2008 及其所有相关位。
- .NET 3.5 SP1
- .NET 1.1
- .NET 1.1 SDK
- Visual J# 2.0 来自 http://msdn.microsoft.com/en-au/vjsharp/bb188598.aspx
- Visual J# 1.1 来自http://msdn.microsoft.com/en-au/vjsharp/bb188598.aspx
有人知道合并模块的位置吗?或者如何在 VS2008 中正确处理这种启动条件?
编辑:澄清。
【问题讨论】:
-
如果您从部署项目中手动排除 J# MSM 会发生什么?如果您丢失了依赖项检查,但获得了有效的 MSI,那么您将领先于现在。
-
@Bevan:排除它是不够的(相同的症状),但我最终找到了编辑启动条件的位置(右键单击部署项目 -> 查看 -> 启动条件)并将其删除。我现在处于你描述的位置,而且由于所有目标机器都已经有 VJ#,这已经足够了。
标签: .net visual-studio j# visualj#