2008-10-06 6 views
9

У меня есть коллекция пакетов ClickOnce в папке публикации на сетевом диске и вам необходимо переместить их на другой сервер (наш компьютер DR).Как переместить пакет развертывания ClickOnce

После копирования/вставки всего каталога и запуск установок на новой машине я получаю сообщение об ошибке о том, что он не может найти старый путь:

Activation of ...MyClickOnceApp.application resulted in exception. Following failure messages were detected:

+ Downloading file://oldMachine/c$/MyClickOnceApp.application did not succeed.

+ Could not find a part of the path '\\oldMachine\c$\MyClickOnceApp.application'.

После того, как изменить установку URL, чтобы указать на моем новая машина, я получаю другую ошибку:

Manifest XML signature is not valid.

+ The digital signature of the object did not verify.

Я попытался с помощью MageUI.exe, чтобы изменить URL развертывания, но он запрашивает сертификат, который у меня нет.

Что я делаю неправильно и как успешно перемещать опубликованные пакеты ClickOnce?

ответ

10

Я нашел решение:

Во-первых, с помощью MageUI, я изменил "Start Location" в разделе "Параметры развертывания". При сохранении мне было предложено подписать ключ, который я создал там и потом. Затем я запустил файл setup.exe, и он работал безотказно.

После проверки, какие файлы были изменены, я понял, что это только один файл: файл манифеста приложения (myAppName.application). Единственное, что изменилось в файле были поставщик развертывания и подпись (что я изменил в MageUI).

Как только я понял, что это было, как это сделать, я использовал версию командной строки MageUI под названием Mage.exe, которая поставляется с SDK.

Ниже пакетный файл я создал, чтобы сделать все это в командной строке:

REM Set the enviroment
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"

REM Update the deployment provider URL
mage -Update %1.application -pu %2

REM Sign the manifest with our key
mage -Sign %1.application -CertFile C:\AppKey.pfx -Password myPw

теперь я могу использовать это, чтобы работать против всех моих опубликованных приложений в быстром и простом способе. Надеюсь, это поможет.

1

Я считаю, что у вас есть сертификат. Вам необходимо создать развертывание ClickOnce. Visual Studio, возможно, автоматически создала самостоятельно подписанную для вас. Я не слишком хорошо разбираюсь в этом процессе, надеюсь, кто-то с более решительным ответом будет чип. Кроме того, вы пробовали инструмент MageUI, возможно, будет более очевидно, что вам нужно делать с помощью графического интерфейса.

3

Я хотел бы ожидать, чтобы сделать следующее: текущее содержимое папки

  • Копировать в новое место
  • Для каждого приложения: -
    • Change «Папка установки» на новое место
    • Опубликовать как новую версию
    • Изменить 'Publishing folder' в новом окне
    • Опубликовать в качестве новой версии

Новые расстановок запуска из новой папки должны работать, а существующие должны обновить искать в правильном месте.

Все это проверялось, но я уверен, что это то, что я делал раньше ...

Edit:

Очевидно, что вы должны запустить эти параллельно в течение определенного периода времени , но поскольку это внутреннее приложение, худшее, что произойдет, когда вы, наконец, перейдете к новому местоположению, это то, что вам нужно будет сообщить пользователю о новом местоположении, чтобы получить «фиксированное» приложение.

+0

Это работает, хотя я нашел более явным изменение «Путь обновления», а затем папку «Опубликовать». – bouvard 2008-10-27 15:28:29

8

Не вдаваясь в слишком Много деталей, это должно заставить вас идти.

Для демонстрации кликов ClickOnce необходимо предъявить сертификат по соображениям безопасности. Вы можете приобрести сертификат подписи кода или создать тестовый. Основным недостатком тестового сертификата является то, что ваш издатель приложения появится как «Неизвестный», а не название вашей компании.

В Visual Studio откройте свойства вашего проекта и перейдите на вкладку «Подпись», выберите «Подписать манифест ClickOnce» и «Создать тестовый сертификат». Затем нажмите «Подробнее», чтобы открыть диалоговое окно и нажмите «Установить сертификат».Это запустит вас через мастер, чтобы получить ваш тестовый сертификат в вашем магазине. Убедитесь, что вы положили его в «Личный» магазин.

Теперь вы можете использовать MageUI для редактирования ваших манифестов. Каждый раз, когда вы его сохраняете, вам будет предложено подписать манифесты, но теперь вы можете выбрать тестовый сертификат, который вы только что сохранили. Всегда редактировать/подписывать манифест приложения перед редактированием/подписью манифеста развертывания. Это сбивает с толку, потому что манифест приложения не является файлом с .Приложение расширение.

Удачи вам!