Как вы опубликовать ClickOnce сборки на компакт-диск с MSBuild

голоса
1

Кто-нибудь знает, как создать публикацию ClickOnce для CD с публикацией задачей в MSBuild?

VS2008 имеет «мастер публикации» с выбором кнопки радио в публикации на компакт-диск. Он издает щелчок, как только установить в локальную папку, которая подходит для записи на компакт-диск.

Мы следуем по расписанию MSBuild с этапами обработки поста, в котором мы настраиваем его и установить его в данной среду, и мы хотели бы иметь способ поддерживающей сценарии получения CD выхода ClickOnce.

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

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

Я могу видеть, что автоматизация ClickOnce может быть сделано, но в целом, это кажется GUI технологии и сценариев, кажется, идти против своего зерна.

Билл

Задан 09/12/2008 в 18:31
источник пользователем
На других языках...                            


2 ответов

голоса
1

Ну, я ответил на мой собственный вопрос.

Это вопрос кодирования Http!

При публикации приложения, вы в конечном итоге со структурой папок, как: C: \ MyApp \ Application Files \ версия 1

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

И когда вы сделаете это, MageUI.exe HttpEncodes «Местоположение» в application.manifest.

Так что теперь, манифест развертывания говорит, что локальный путь к файлу манифеста приложения что-то вроде: Application% 20Files \ myApp_version \ myApp.exe.manifest

А так как этот путь не существует, его причины якобы установки на основе компакт-диска на самом деле установить с HTTP: сервер обновлений, если он существует, и потерпеть неудачу, если он не

Наша работа вокруг переименования «Application Files» в «ApplicationFiles».

Невероятно ...

Ответил 11/12/2008 в 19:12
источник пользователем

голоса
1

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

Если я публикую с MSBuild из командной строки, которая выглядит следующим образом:

msbuild  C:\myapp.vbproj /target:publish `
/property:PublishDir=c:\ClickOnce\ `
/property:SolutionDir=C:\trunk\myapp\ `
/property:TargetZone=LocalIntranet `
/property:MapFileExtensions=True `
/property:PublisherName='my publisher' `
/property:ProductName='myProduct' `
/property:BootstrapperEnabled=True `
/property:IsWebBootstrapper=False `
/property:GenerateManifests=True `
/property:ApplicationVersion=1.2.3.4 `
/property:Configuration=Debug `
/property:UpdateUrl=http://localhost/ClickOnce/ `
/property:UpdateEnabled=True `
/property:Install=True 

Затем я создаю папку, устанавливаемая с компакт-диска.

Когда я манипулирую конфигурационный файл, и добавить дополнительный выход из другого процесса в публикации папку, а затем использовать MageUI регенерировать приложения и развертывание манифестов, я создаю filebased установить, что на самом деле устанавливается из updateURL. Если я отключиться от интернета, я получаю «Не удается подключиться к удаленному серверу» исключение, так, а не просто проверять наличие обновлений, он настаивает на установке с веб-сервера, а также.

Ответил 10/12/2008 в 00:41
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more