2017-08-05 81 views
0

安裝我有,我們已經成功地使用了幾年的一個ClickOnce程序。最近,我們決定將其移動到竹構建服務器,併爲這一舉動的一部分,我們做了兩個顯著的​​變化;ClickOnce的數據文件不會在用戶的應用程序數據文件夾

  1. 我們將目標框架從.NET Framework 4.0更新爲.NET Framework 4.5.2。

  2. 我們使用PowerShell腳本調用的MSBuild的構建和發佈階段,這是在竹運行的任務建立計劃

現在,當我們在客戶端計算機上安裝程序,它不會將任何項目的數據文件複製到用戶的c:\ users {用戶名} \ AppData \ Local \ Apps \ 2.0 \ Data ...

這些文件列在項目發佈選項卡 - >應用程序文件部分的發佈狀態:包括(自動),下載組:必需,哈希:包括

如果我打開和檢查後發佈腳本運行時,我可以看到文件中引用,例如爲項目生成清單文件......

<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: \用戶{用戶名} \應用程序數據\本地\ APPS \ 2.0 \數據...沒有文件。

當然,解決方案建立沒有錯誤或警告,並生成和發佈腳本沒有錯誤運行。此外,在客戶端計算機上安裝ClickOnce應用程序時不會生成錯誤。

而且,我不知道這將如何應用,但是當我轉換的項目從.NET框架4.0的.NET Framework 4.5.2,對要求我重建解決方案調用產生了一些編譯器錯誤的把這個詞「系統」中引用的前面,例如,改變...

Case Windows.Forms.DialogResult.Yes 

要...

Case System.Windows.Forms.DialogResult.Yes 

客戶端桌面,我測試安裝上一個Windows 10個企業64位。我能這樣同一臺計算機中的數據文件上安裝的ClickOnce程序的舊版本被複制到AppData的位置沒有問題。

我通過使用Visual Studio「重建解決方案」進行構建和發佈,通過右鍵單擊解決方案來測試該項目,然後右鍵單擊該項目,而不是運行Powershell腳本,我仍然有同樣的問題。

任何想法?

回答

1

ClickOnce的數據文件不會在用戶的應用程序數據文件夾

安裝如果你想數據文件在用戶的應用程序數據文件夾中安裝,你應該改變發佈的文件狀態Include (auto)Data File

enter image description here

enter image description here

+0

感謝。這個伎倆 – EiEiGuy

相關問題