Где можно приобрести модуль слияния Visual J# для использования с Visual Studio 2008?
Я унаследовал приложение, которое зависит от сторонней библиотеки, которая, в свою очередь, зависит от Visual J#.NET.
Ранее приложение разрабатывалось на Visual Studio 2005, и я успешно его собирал на VS2008.
Среди других компонентов он включал в себя проект развертывания, который встроил пару исполняемых файлов (плюс зависимости, включая эту библиотеку) в установщик Windows MSI.
В результате зависимости VJ# в проекте развертывания (по-видимому) использовался модуль слияния VJSharpRedist_x86.msm. Этот модуль слияния обнаруживает наличие пакета VJ# и, если он не установлен, предлагает пользователю загрузить его из Интернета.
Однако ни один пакет, который я могу найти на данный момент, не включает модуль слияния для 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?
редактировать: уточнения.
2 ответа
Добавить 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 убедитесь, что J#
устанавливается до запуска вашего проекта.
Вероятно, это не тот ответ, который вы хотите услышать, но VJSharpRedist_x86.msm не должен использоваться для распространения:
VJSharpRedist_x86.msm не должен использоваться для перераспределения распространяемого пакета Microsoft Visual J#
Модуль слияния для распространяемого пакета Visual J # не является распространяемым модулем слияния. Он добавляется в проект в качестве механизма проверки зависимостей и по умолчанию исключается.
http://msdn.microsoft.com/en-us/library/8f5w2e95(VS.80).aspx
Похоже, что MSM - это просто оболочка для проверки того, что на целевом компьютере предварительно установлена соответствующая среда выполнения J #. Вы можете обнаружить, что Visual J# Redist, который вы уже скачали, является достаточным.