【发布时间】:2010-02-02 15:30:57
【问题描述】:
我有这个问题:
我正在使用 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://CHANGETHESERVER/carwinclickonce/Publicacion/Frk.Security.CarWin.application'。 (尝试下载失败 'http....Frk.Security.CarWin.application')
Vea el archivo de registro de la instalación que se encuentra en 'C:\DOCUME~1\xxxxxx\CONFIG~1\Temp\VSD5B7.tmp\install.log' 更多信息。
install.log 内容:
以下属性已被 设置:属性:[AdminUser] = true {boolean} 属性: [处理器架构] = 英特尔 {string} 属性:[VersionNT] = 5.1.3 {version} 运行包检查 'Windows Installer 3.1',阶段
BuildList 以下属性 已为包“Windows”设置 安装程序 3.1':运行检查 命令 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' 运行运算符的结果 'VersionGreaterThanOrEqualTo' on 属性“VersionMsi”和值“3.1”: true 命令检查的结果 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' 是“绕过”“Windows Installer 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>
【问题讨论】:
标签: msbuild clickonce installation publish bootstrapper