URL-адрес ошибки для предварительных требований Setup.exe Click Once VS 2008 - PullRequest
1 голос
/ 02 февраля 2010

У меня такая проблема:

Я использую VS 2008 Team Suite, и у меня есть WinForms csproj. Я хочу опубликовать его с помощью ClickOnce.

В свойствах публикации csproj у меня есть следующие значения:

Местоположение папки публикации (веб-сайт, FTP-сервер или путь к файлу): C: \ ClickOnce \ Frk.Security.CarWin.WebInstall \ Publicacion \

URL установочной папки (если отличается чем выше): http://CHANGETHESERVER/carwinclickonce/Publicacion/

Версия публикации: 1.0.0.0

Предварительные условия: установщик Windows 3.1, .NET 35. sp1

Теперь я публикую и все в порядке. Мне нужно развернуть приложение на нескольких машинах (разработка, подготовка производства, производственная среда ...), и я использую Msbuild ...

<Microsoft.Sdc.Tasks.Folder.CopyFolder
    Source="Publicacion"
    Destination="$(Directorio_Destination)\Publicacion" />

Я копирую C:\ClickOnce\Frk.Security.CarWin.WebInstall\Publicacion\ на другую машину, в папку (эта папка является корнем веб-сайта)

\\desiis\c$\Webs\carwinclickonce\Publicacion\ 

(http://desiis/carwinclickonce/Publicacion/)

Я использую MSBUILD и Mage вот так; переменная $ (ProviderUrl) = http://desiis/carwinclickonce/Publicacion/

<Target Name="PublishClickOnce">
    <Exec Command="$(Mage) -u $(PublishDir)\Frk.Security.CarWin.application -pu $(ProviderUrl)" />

    <Exec Command="$(Mage) -u $(PublishDir)\Frk.Security.CarWin.application -cf $(CertDir)\Frk.Security.CarWin_TemporaryKey.pfx" />
  </Target>

Теперь у меня есть свой publish.htm в http://desiis/carwinclickonce/Publicacion/publish.htm.

Для установки приложения есть две ссылки: 1.) http://desiis/Carwinclickonce/Publicacion/Frk.Security.CarWin.application

Все в порядке для этой опции.

  1. ) http://desiis/Carwinclickonce/Publicacion/Setup.exe

Эта опция получает ошибки!

Ошибки следующие:

Ошибка al intentar descargar «http://CHANGETHESERVER/carwinclickonce/Publicacion/Frk.Security.CarWin.application'. (Не удается при попытке загрузить 'HTTP .... Frk.Security.CarWin.application')

Vea el archivo de registro de la установка без каких-либо ограничений en 'C: \ DOCUME ~ 1 \ хххххх \ CONFIG ~ 1 \ Temp \ VSD5B7.tmp \ install.log' пара получателя информации.

install.log содержимое:

Следующие свойства были set: свойство: [AdminUser] = true {boolean} Свойство: [ProcessorArchitecture] = Intel Свойство {string}: [VersionNT] = 5.1.3 {version} Выполнение проверок пакета «Установщик Windows 3.1», фаза

BuildList Следующие свойства были установлены для пакета 'Windows Установщик 3.1 ': запуск проверок для команда 'WindowsInstaller3_1 \ WindowsInstaller-KB893803-v2-x86.exe' Результат работы оператора VersionGreaterThanOrEqualTo включен свойство 'VersionMsi' и значение '3.1': true Результат проверок для команды 'WindowsInstaller3_1 \ WindowsInstaller-KB893803-v2-x86.exe' такое «Обход» «Установщик Windows 3.1» Результат RunCheck: установка не требуется

Запуск приложения. URLDownloadToCacheFile не удалось с HRESULT '-2146697211' Ошибка: ошибка al интентар декаргар «http://CHANGETHESERVER/carwinclickonce/Publicacion/Frk.Security.CarWin.application'. (Не удается при попытке загрузить 'HTTP .... Frk.Security.CarWin.application')

Есть идеи? Могу ли я использовать команды Mage.exe? Как я могу изменить setup.exe?

Обновление:

использовать msbuild для использования setup -url = http://desiis/....

<Exec Command="$(PublishDir)\setup -url=$(ProviderUrl)" />

Другая проблема заключается в том, что после использования параметра / url для изменения URL-адреса появляется окно сообщения для подтверждения того, что подпись будет недействительной для сборки.

  1. Как использовать setup -url = http: // .... в режиме без вывода сообщений?
  2. Как мне снова подписать setup.exe?

Мой msbuild

<Target Name="PublishClickOnce">

<Exec Command="$(PublishDir)\setup -url=$(ProviderUrl)" /> 
<Exec Command="$(Mage) -u $(PublishDir)\Frk.Security.CarWin.application -pu $(ProviderUrl)" /> 
<Exec Command="$(Mage) -u $(PublishDir)\Frk.Security.CarWin.application -cf $(CertDir)\Frk.Security.CarWin_TemporaryKey.pfx" /> 

</Target>

Ответы [ 2 ]

1 голос
/ 03 февраля 2010

Чтобы уточнить, ClickOnce работает. Ваша проблема связана с файлом начальной загрузки setup.exe, который Visual Studio создает для установки необходимых компонентов. Вы используете фиктивное имя сервера (CHANGETHESERVER) и меняете его позже в зависимости от того, на каком сервере вы развертываете. Имя сервера можно легко изменить для файла .application, но вы не знаете, как исправить файл setup.exe, так как он пытается запустить http://CHANGETHESERVER/... после установки предварительных требований. Все ли это правильно?

Я не уверен, как обновить файл setup.exe, чтобы он указывал на правильный URL. Тем не менее, я не буду беспокоиться об его обновлении. Я бы пошел в Visual Studio, заменил «CHANGETHESERVER» на реальный сервер (например, на ваш сервер разработки) и опубликовал. Созданный файл setup.exe подходит для используемого вами сервера. Сохраните копию этого .exe и повторите процедуру для других серверов (QA, Production и т. Д.). Разверните серверные файлы на каждом сервере, и все готово.

Файлы setup.exe не изменятся, если вы не добавите / не удалите необходимые компоненты. Нет необходимости создавать и развертывать новый каждый раз, когда вы развертываете.

0 голосов
/ 02 февраля 2010

Обновление:

Теперь «Публикация и все в порядке». Мне нужно развернуть свою публикацию на нескольких машинах (разработка, подготовка производства, производственная среда ...), и я использую Msbuild.

Затем, используя MSBUILD

 <Microsoft.Sdc.Tasks.Folder.CopyFolder Source="Publicacion" Destination="$(Directorio_Destination)\Publicacion" />

Я копирую C: \ ClickOnce \ Frk.Security.CarWin.WebInstall \ Publicacion \ на другую машину, в папку (эта папка является корнем веб-сайта)

\ desiis \ с $ \ Полотна \ carwinclickonce \ Publicacion \

(http://desiis/carwinclickonce/Publicacion/)

Я использую MSBUILD и Mage вот так; переменная $ (ProviderUrl) = http://desiis/carwinclickonce/Publicacion/

<Target Name="PublishClickOnce">
    <Exec Command="$(Mage) -u $(PublishDir)\Frk.Security.CarWin.application -pu $(ProviderUrl)" />

    <Exec Command="$(Mage) -u $(PublishDir)\Frk.Security.CarWin.application -cf $(CertDir)\Frk.Security.CarWin_TemporaryKey.pfx" />
  </Target>
...