我有这个麻烦:
我正在使用 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 Installer 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>
现在,我在http://desiis/carwinclickonce/Publicacion/publish.htm中有我的 publish.htm 。
安装应用程序有两个链接: 1.) http://desiis/Carwinclickonce/Publicacion/Frk.Security.CarWin.application
此选项一切正常。
此选项出错!
错误如下:
错误 al intentar descargar ' 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} 属性:[ProcessorArchitecture] = Intel {string} 属性:[VersionNT] = 5.1.3 {version} 运行检查包“Windows Installer 3.1”,阶段
BuildList 已为程序包“Windows Installer 3.1”设置了以下属性: 运行命令“WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe”的检查在属性“VersionMsi”和值“3.1”上运行运算符“VersionGreaterThanOrEqualTo”的结果: true 命令“WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe”的检查结果为“绕过”“Windows Installer 3.1”运行检查结果:不需要安装
启动应用程序。URLDownloadToCacheFile 失败并出现 HRESULT '-2146697211' 错误:错误的意图 decargar ' 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>