Я хочу создать установщик для размещения развернутого приложения ClickOnce в виртуальном каталоге IIS, чтобы приложение было доступно для загрузки. (Другими словами, мне нужен установщик, который публикует мое приложение в IIS.)

Что я планирую сделать, это:

  1. Разверните (вручную) приложение в локальной папке;
  2. Проект веб-установщика получает файлы из развернутой папки и создает в IIS виртуальный каталог со всеми необходимыми файлами;
  3. Пользовательское действие при установке использует mage.exe для обновления .application с правильным URL-адресом AppCodeBase;

Есть ли лучший/более простой/чистый способ сделать это?

Marco

0
marcob 22 Окт 2009 в 20:26

2 ответа

То, что вы описали, почти точно соответствует тому, что мы делали в прошлом. Я не знаю лучшего способа сделать это, если вам нужно создать MSI для нескольких серверов или вы не знаете IP/имена хостов сервера ClickOnce. В нашем случае у нас была дополнительная конфигурация для каждой установки, поэтому мы также установили приложение конфигурации, которое запускало бы mage. Это не очень хороший ответ, но в прошлом мы тоже искали лучший ответ.

1
sprobean 22 Окт 2009 в 20:36
Я также выполняю некоторые настройки при установке, чтобы это не создавало проблем для mage.exe, но я спросил, есть ли лучшее решение. Спасибо за Ваш ответ :)
 – 
marcob
22 Окт 2009 в 23:25

Вы можете выполнить развертывание непосредственно на веб-сайте, и он будет просто работать. Хотя у меня нет описанных здесь шагов, мастер развертывания Visual Studio довольно интуитивно понятен.


Поскольку вы не выполняете развертывание в Интернете, это должно сработать для вас.

  1. Очистить (стереть) общее сетевое расположение.
  2. Разверните это общее сетевое расположение.
  3. IT может просто скопировать весь общий сетевой каталог (включая подкаталог) на веб-сервер.

Причина очистки состоит в том, чтобы свести к минимуму данные, копируемые на веб-сервер; это не обязательно, но это будет поддерживать более или менее постоянное время развертывания.

ClickOnce создаст папку «версия» с вашей последней сборкой, чтобы копия никогда ничего не перезаписывала; копия корневого каталога будет соответствующим образом ссылаться на эту папку.

0
Austin Salonen 23 Окт 2009 в 01:40
Но я не могу попросить ИТ-специалиста, который собирается установить приложение на сервер, иметь Visual Studio.
 – 
marcob
22 Окт 2009 в 23:03
О... Вы не развертываете... Я исправлюсь.
 – 
Austin Salonen
23 Окт 2009 в 01:34
Все в порядке, это мой английский фол ;)
 – 
marcob
23 Окт 2009 в 04:17
Я развертываю в Интернете, но я не могу заранее знать URL-адрес, поэтому установщик должен создать манифест, это моя проблема :(
 – 
marcob
23 Окт 2009 в 04:20