2016-04-22 14 views
1

Короче говоря, у одного из моих клиентов моего работодателя есть платформа aaS, которая опирается на часть программного обеспечения, которое является приложением ClickOnce. Это приложение разработано сторонним разработчиком программного обеспечения и лицензировано для клиентской компании моего работодателя. Также существует большое количество необходимых/зависимых приложений, которые необходимо установить, чтобы они функционировали, но не были развернуты как часть установки ClickOnce. Важно отметить, что, поскольку он разработан сторонним лицом и лицензирован, невозможно внести какие-либо изменения в приложение.Могу ли я подключить приложение ClickOnce к загрузчику WiX? Как?

До сих пор фактическая установка приложения на конечных точках выполнялась компанией-клиентом, предоставляя предварительно обработанный компьютер или когда их клиент хочет использовать свое собственное оборудование, предоставляя своим клиентам обслуживание большого zip-файла, содержащего связки сценариев .bat, которые они должны запускать вручную на любом компьютере, который будет использоваться в качестве конечной точки для их обслуживания. Пакетные скрипты в основном выполняют работу загрузчика и устанавливают параметры prereqs, вносят необходимые изменения и проверки конфигурации системы, а затем вызывают установщик приложений ClickOnce.

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

Могу ли я подключить приложение ClickOnce к загрузчику WiX? Как?

Если это имеет значение, приложение ClickOnce публикуется с одного из серверов клиентской компании, поэтому у меня есть полный доступ к манифесту ClickOnce и всем файлам .deploy.

+0

Я предполагаю, что вы можете просто включить его в ExePackage в цепочке? Просто нужно выяснить правильное DetectCondition, чтобы определить, следует ли вам запускать EXE. Я никогда не работал с ClickOnce. –

+0

@BrianSutherland Я был бы в восторге, если бы это был ответ, но поскольку я никогда не работал с ClickOnce, я понятия не имею. Полностью неизведанная территория для меня, и поэтому я немного беспокоюсь о том, может ли это сломать все, когда приложение ClickOnce пытается обновить себя дальше или что-то в этом роде. Похоже, это может быть плохо для меня, если я был причиной того, что десять тысяч конечных точек внезапно перестали работать. :) – HopelessN00b

ответ

1

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

(К тому времени, хотя, возможно, они будут фиксировать их установку ClickOnce путем включения зависимостей. Или отказаться от зависимости, что они возникают проблемы ввода в ClickOnce, скажем, те, которые необходимы для устаревших версий Windows.)

После установки зависимостей вы можете запустить загрузчик для запуска приложения, которое будет устанавливать или обновлять его. (. По логике вещей, это следует цепь)

<Variable Name="LaunchTarget" Value="http://example.com/path/product.application"/> 

Резервное копирование немного, вы могли создать MsiPackage со всеми файлами ClickOnce, а также использовать «файл: //» URI для LaunchTarget. Это потребовало бы, чтобы вы перестраивали и передислоцировали каждую новую версию (побеждая природу ClickOnce), но изолировали бы вас от непроверенных обновлений приложений.

+0

Я попробую это ... спасибо. Я могу получить помаду на этой свиньи еще! – HopelessN00b