我继承了一个依赖于第三方库的应用程序,而第三方库又依赖于VisualJ#.NET。
这个应用程序以前是在Visual 2005上开发的,我已经在VS2008上成功地构建了它。
在其他组件中,它包括一个部署项目( Deployment ),它将两个可执行文件(加上依赖项,包括这个库)构建到一个windows安装程序MSI中。
由于VJ#依赖,部署项目(显然)使用了VJSharpRedist_x86.msm合并模块。这个合并模块似乎检测到了VJ#包的存在,如果没有安装,则提示用户从web下载它。
但是,我目前找不到的包包括用于VJ#的合并模块。虽然项目构建没有错误,但生成的MSI无法安装。它启动后,无法检测到机器上正确安装的VJ#,然后显示一个对话框,其中只有文本"1:“和两个按钮"Yes”和"No“。单击“是”将打开部署项目中指定的url,然后单击"No“取消安装。
(如果手动将可执行文件复制到机器上,则打包到MSI中的可执行文件可以正常工作,但MSI拒绝安装它们。)
到目前为止,我安装了:
有人知道合并模块的位置吗?或者如何在VS2008中正确处理此启动条件?
编辑:澄清。
发布于 2009-08-07 10:09:56
若要将Visual J# .NET Redistributable Package 2.0添加到项目先决条件,请复制:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\VJSharpRDP
至
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages
然后,您需要进入部署项目,打开Launch Conditions Editor并删除Visual J# .NET的条件(这就是删除可怕的空白对话框的原因)。
此时,setup.exe确保在启动项目msi之前安装了J#。
发布于 2009-02-27 01:02:37
这可能不是你想听到的答案,但是VJSharpRedist_x86.msm 不应该被用于再分配
不能使用VJSharpRedist_x86.msm重新分发Microsoft Visual J#可再发行包。 VisualJ#可再发行包的合并模块不是可再发行的合并模块。它作为检查依赖项的机制添加到项目中,默认情况下被排除在外。 http://msdn.microsoft.com/en-us/library/8f5w2e95(VS.80).aspx
看起来MSM只是一个包装器,用于检查目标计算机上是否预装了适当的J#运行时。您可能会发现,您已经下载的Visual已经足够了。
https://stackoverflow.com/questions/593161
复制相似问题