ClickOnce数据文件未安装在用户AppData文件夹中

时间:2017-08-05 16:07:37

标签: msbuild .net-4.0 .net-4.5 visual-studio-2017 clickonce

我有一个ClickOnce程序,我们已成功使用了几年。最近,我们决定将项目迁移到Bamboo构建服务器,作为该移动的一部分,我们做了两个重大更改;

  1. 我们将目标框架从.NET Framework 4.0更新为.NET Framework 4.5.2。

  2. 我们使用powershell脚本为构建和发布阶段调用msbuild,这些阶段在Bamboo构建计划中作为任务运行

  3. 现在,当我们在客户端计算机上安装程序时,它不会将任何项目的数据文件复制到用户的c:\ users {username} \ AppData \ Local \ Apps \ 2.0 \ Data ... < / p>

    文件列在项目发布标签中 - &gt; “应用程序文件”部分为“发布状态:包括(自动)”,“下载组:必需”,“哈希:包含”

    如果我在发布脚本运行后打开并检查为项目生成的清单文件,我可以看到引用的文件,例如......

      <file name="Data\MyFiles.zip" size="71341">
        <hash>
          <dsig:Transforms>
            <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
          </dsig:Transforms>
          <dsig:DigestMethod 
    Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
          <dsig:DigestValue>NvXXXXR/TNpKPCVXXXXJ44v+vLIZhNZXXXXXXXXVk=
    </dsig:DigestValue>
        </hash>
      </file>
    

    但是在insatall之后,当我去c:\ users {username} \ AppData \ Local \ Apps \ 2.0 \ Data ...时没有文件。

    当然,解决方案构建时没有错误或警告,构建和发布脚本运行时没有错误。此外,在客户端计算机上安装ClickOnce应用程序时不会生成错误。

    此外,我不确定这将如何应用,但是当我将项目从.NET Framework 4.0转换为.NET Framework 4.5.2时,在重建解决方案调用上生成了许多编译器错误,这些错误要求我放置引用前面的“系统”一词,例如,改变......

    Case Windows.Forms.DialogResult.Yes
    

    要...

    Case System.Windows.Forms.DialogResult.Yes 
    

    我正在测试安装的客户端桌面是Windows 10 Enterprise 64 Bit。我能够在同一台计算机上安装旧版本的ClickOnce程序,并将数据文件复制到AppData位置,没有任何问题。

    我通过使用Visual Studio“重建解决方案”进行构建和发布来测试项目,右键单击解决方案,右键单击项目“发布”,而不是运行Powershell脚本,我仍然有同样的问题。

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

  

ClickOnce数据文件未安装在用户AppData文件夹

如果您希望在用户appdata文件夹中安装数据文件,则应将文件的发布状态Include (auto)更改为Data File

enter image description here

enter image description here