Как развернуть приложение ClickOnce .NET 3.5 на компьютере .NET 3.0? - PullRequest
3 голосов
/ 17 мая 2010

У меня есть .NET 3.5 SP1 WPF приложение, которое я успешно развертываю на клиентских компьютерах с помощью ClickOnce.

Теперь у меня появилось новое требование - одному из наших клиентов нужно запускать приложение на машинах, оснащенных только .NET 3.0, и на них совершенно невозможно что-либо обновить или установить. Я уже пытался запустить приложение 3.5 с некоторыми из библиотек 3.5 .NET Framework, скопированных в каталог приложения, и это работало без проблем. Единственной проблемой на данный момент является ClickOnce. Я уже сделал это, чтобы включить 3.5 .NET Framework System. *. Dll файлы в список файлов приложения, но он всегда прерывает установку на машине 3.0 с таким сообщением об ошибке:

Невозможно установить или запустить приложение. Приложение требует та сборка System.Core версия 3.5.0.0 сначала следует установить в глобальный кэш сборок (GAC). пожалуйста обратитесь к системному администратору.

Я уже пытался настроить предварительные условия на вкладке «Публикация» моего проекта, но ни одна комбинация не решила проблему.

Какая часть ClickOnce отвечает за проверку предварительных условий? Я уже пытался развернуть, используя mageui.exe, но ошибка 3.5 .NET Framework все еще присутствует. Что я должен сделать, чтобы ForeO ClickOnce прекратил проверять какие-либо предварительные условия вообще?

Проект создан с использованием Visual Studio 2010.


Я могу просто найти причину проблемы - процесс публикации ClickOnce (и MageUI также) генерирует файл манифеста приложения, который определяет зависимость "preRequisite" для некоторых сборок 3.5 (System.Core, System.Data.Entity). Поэтому мне просто нужно заставить ClickOnce-публикацию / MageUI как-то не генерировать эти зависимости ...

Ответы [ 3 ]

1 голос
/ 18 мая 2010

Как насчет использования заглушки .exe, предназначенной для 3.0 Framework? Вы можете развернуть свое приложение и заглушку в той же установке ClickOnce с заглушкой в ​​качестве точки входа. Единственная задача заглушки - запустить исполняемый файл 3.5.

Я не уверен, что вы сможете создать этот тип развертывания с помощью Visual Studio. Возможно, вам придется использовать MageUI .

Редактировать
В ответ на ваш комментарий попробуйте удалить записи «Prerequisite» из файла манифеста. Просто удалите их с помощью текстового редактора и затем подайте в отставку с командной строкой Mage .

0 голосов
/ 11 июня 2010

Я получил это сообщение, потому что я проверил возможность создания ярлыка на рабочем столе - пришлось добавить обязательное условие для .NET Framework 3.5 с пакетом обновления 1 (SP1), чтобы исправить это, поэтому вам может потребоваться добавить ярлыки в программу (если это вызывает сообщение, и вы не можете обновить структуру)

0 голосов
/ 18 мая 2010

Вы не можете запустить приложение, нацеленное на .NET 3.5, на компьютере без .NET 3.5. Если вы хотите установить это приложение на компьютере, который поддерживает только .NET 3.0, вам придется понизить целевую платформу до .NET 3.0 и соответственно изменить свое предварительное условие.

В решении C # это на вкладке Приложения для страниц свойств каждого проекта.

В решении VB, IIRC, оно находится на вкладке Компиляция, Дополнительные параметры.

...