У меня такая проблема:
Я использую 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
Все в порядке для этой опции.
- ) 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-адреса появляется окно сообщения для подтверждения того, что подпись будет недействительной для сборки.
- Как использовать setup -url = http: // .... в режиме без вывода сообщений?
- Как мне снова подписать 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>