Where can one acquire the Visual J# Merge Module for use with Visual Studio 2008?
-
09-09-2019 - |
Question
I've inherited an application which depends on a third-party library, which in turn depends on Visual J#.NET.
The application was previously being developed on Visual Studio 2005, and I've got it building mostly successfully on VS2008.
Amongst other components, it included a Deployment Project which built a couple of executables (plus dependencies, including this library) into an windows installer MSI.
As a result of the VJ# dependency, the Deployment Project was (apparently) using the VJSharpRedist_x86.msm merge module. This merge module appears to detect the existence of the VJ# package, and if not installed, prompt the user to download it from the web.
However no package I can find at the moment includes the merge module for VJ#. Although the project builds without error, the generated MSI fails to install. It starts, fails to detect the correctly installed VJ# on the machine, then displays a dialog box with only the text "1:" and two buttons "Yes" and "No". Clicking "Yes" opens up the url specified in the deployment project, and clicking "No" cancels the install.
(The executables which are packaged into the MSI work fine, if they are manually copied onto the machine, but the MSI refuses to install them.)
So far, I've installed:
- Visual Studio 2008, and all its associated bits.
- .NET 3.5 SP1
- .NET 1.1
- .NET 1.1 SDK
- Visual J# 2.0 from http://msdn.microsoft.com/en-au/vjsharp/bb188598.aspx
- Visual J# 1.1 from http://msdn.microsoft.com/en-au/vjsharp/bb188598.aspx
Does anyone know where the merge module is located? Or how to correctly handle this launch condition in VS2008?
edit: clarifications.
Solution
To add Visual J# .NET Redistributable Package 2.0
to the project prerequisites, copy:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\VJSharpRDP
to
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages
Then you need to go into your deployment project, open the Launch Conditions Editor
and remove the condition for Visual J# .NET
(this is what removes the horrible blank dialog).
At this point setup.exe make sure J#
is installed before your project msi launches.
OTHER TIPS
It's probably not the answer you're wanting to hear, but VJSharpRedist_x86.msm isn't supposed to be used for redistribution:
VJSharpRedist_x86.msm must not be used to redistribute the Microsoft Visual J# Redistributable Package
The merge module for the Visual J# Redistributable Package is not a redistributable merge module. It is added to a project as a mechanism for checking dependencies and is excluded by default.
http://msdn.microsoft.com/en-us/library/8f5w2e95(VS.80).aspx
It looks as though that MSM is just a wrapper for checking that the appropriate J# runtime is preinstalled on the target machine. You may find that the Visual J# Redist you have already downloaded is sufficient.