Msbuild PrerRequestes Setup.exe的错误URL单击一次VS 2008

Msbuild PrerRequestes Setup.exe的错误URL单击一次VS 2008,msbuild,clickonce,installation,publish,bootstrapper,Msbuild,Clickonce,Installation,Publish,Bootstrapper,我有个问题: 我正在使用VS2008团队套件,我有WinForms csproj。我想用ClickOnce发布它 在csproj的发布属性中,我有以下值: 发布文件夹位置(网站、, ftp服务器或文件路径): C:\ClickOnce\Frk.Security.CarWin.WebInstall\Publicacion\ 安装文件夹URL(如果不同 (高于上文): 发布版本:1.0.0.0 要求:Windows Installer 3.1, .NET 35。sp1 现在,我发布了,一切都好了。

我有个问题:

我正在使用VS2008团队套件,我有WinForms csproj。我想用ClickOnce发布它

在csproj的发布属性中,我有以下值:

发布文件夹位置(网站、, ftp服务器或文件路径): C:\ClickOnce\Frk.Security.CarWin.WebInstall\Publicacion\

安装文件夹URL(如果不同 (高于上文):

发布版本:1.0.0.0

要求:Windows Installer 3.1, .NET 35。sp1

现在,我发布了,一切都好了。我需要将我的应用程序部署到多台机器(开发、预生产、生产环境…),我使用Msbuild

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

我像这样使用MSBUILD和Mage;变量$(ProviderUrl)=


现在,我有了publish.htm

安装应用程序有两个链接: 1. )

这个选项一切正常

  • )
  • 这个选项会出错

    错误如下:

    错误al intentar descargar ''. (尝试下载时失败 'http…Frk.Security.CarWin.application')

    小餐馆 安装一个新的设备 'C:\DOCUME~1\xxxxxx\CONFIG~1\Temp\VSD5B7.tmp\install.log' 信息获取者

    install.log内容:

    以下属性已被删除 set:Property:[AdminUser]=true {boolean}属性: [ProcessorArchitecture]=英特尔 {string}属性:[VersionNT]=5.1.3 {version}正在运行包的检查 “Windows Installer 3.1”,阶段

    请列出以下属性 已为软件包的Windows设置 安装程序3.1':正在对 命令 “WindowsInstaller3\u 1\WindowsInstaller-KB893803-v2-x86.exe” 运行操作员的结果 “版本创建Anorequalto”打开 属性'VersionMsi'和值'3.1': 命令检查的真实结果 “WindowsInstaller3\u 1\WindowsInstaller-KB893803-v2-x86.exe” 是“绕过”Windows Installer 3.1 运行检查结果:无需安装

    启动应用程序。 URLDownloadToCacheFile失败,错误为 HRESULT'-2146697211'错误:错误al 德斯卡酒店 ''. (尝试下载时失败 'http…Frk.Security.CarWin.application')

    有什么想法吗?我可以使用Mage.exe命令吗?如何修改setup.exe

    更新:

    使用msbuild来使用安装程序-url=

    
    
    另一个问题是,在使用/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

    然后,使用MSBUILD

     <Microsoft.Sdc.Tasks.Folder.CopyFolder Source="Publicacion" Destination="$(Directorio_Destination)\Publicacion" />
    
    
    
    我将C:\ClickOnce\Frk.Security.CarWin.WebInstall\Publicacion\复制到另一台计算机的文件夹中(此文件夹是网站的根目录)

    \desis\c$\Webs\carwinclickonce\Publicacion\

    ()

    我像这样使用MSBUILD和Mage;变量$(ProviderUrl)=


    要澄清这一点,ClickOnce有效。您的问题在于Visual Studio为安装必备组件而生成的setup.exe引导程序文件。您使用一个伪造的服务器名称(CHANGETHESERVER),然后根据部署到的服务器进行更改。可以轻松更改.application文件的服务器名称,但您不确定如何修复setup.exe文件,因为它试图启动。。。安装prereqs之后。这些都对吗

    我不确定如何更新setup.exe文件以指向正确的url。但是,我不会担心更新它。我会转到VisualStudio,将“CHANGETHESERVER”更改为实际的服务器(如开发服务器),然后发布。生成的setup.exe对于您使用的服务器很有用。保留该.exe的副本,并为其他服务器(QA、生产等)再次执行该过程。将特定于服务器的文件部署到每个服务器,就完成了


    除非添加/删除先决条件,否则setup.exe文件不会更改。无需在每次部署时生成和部署新问题。

    编辑原始问题,而不是添加帖子。新帖子被认为是这个问题的答案,这是正确的。MrRobinDotnet告诉我:setup-url=-->更改它指向的url。我将msbuild用于do-it Exec命令=“$(PublishDir)\setup-url=$(ProviderUrl)”。另一个问题是,在使用/url开关更改url后,会出现一条消息,用于手动确认签名将对程序集无效。更多信息,谢谢!!!两个问题:1.如何使用setup-url=http://.... 在静音模式下?。我不希望出现用于确认的消息。2.如何再次对setup.exe进行签名??我的msbuild是针对Target Name=“PublishClickOnce”1的。Exec命令=“$(PublishDir)\setup-url=$(ProviderUrl)”2。Exec命令=“$(Mage)-u$(PublishDir)\Frk.Security.CarWin.application-pu$(ProviderUrl)”3。Exec Command=“$(Mage)-u$(PublishDir)\Frk.Security.CarWin.application-cf$(CertDir)\Frk.Security.CarWin\u TemporaryKey.pfx”我不知道如何使用“setup-url=”命令。我是说,您应该只为每个环境生成一次setup.exe。setup.exe不会更改,因此无需继续创建和部署它。我希望为所有环境生成一次setup.exe,而不是为每个环境生成一次。只有我想使用msbuild自动化任务来更改安装程序中的url。这是一个bug,但我认为还没有解决方案。有更多的信息吗?谢谢
    <Exec Command="$(PublishDir)\setup -url=$(ProviderUrl)" />
    
    <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>
    
     <Microsoft.Sdc.Tasks.Folder.CopyFolder Source="Publicacion" Destination="$(Directorio_Destination)\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>