簡體   English   中英

Windows安裝程序(MSI)不會復制配置文件

[英]Windows installer (MSI) does not copy a config file

我在Visual Studio 2017上安裝了MSI buillder工具,並開始使用生成的MSI部署桌面應用程序。 istaller能夠復制重要文件並添加注冊密鑰,但不能復制記錄器所需的一些其他配置文件。 根據此頁面 ,應將“復制到輸出目錄屬性”切換為“始終復制”,以解決該問題,但是,它仍未將配置文件復制到客戶端計算機的輸出目錄中。

該文件未復制到客戶端計算機中的輸出文件

有人可以建議我如何診斷此問題嗎?

編輯:

我想我可以使用以下方法將日志文件顯式添加到MSI中,但是對此我有兩個擔憂。 我要使用全局或相對路徑將文件添加到MSI嗎? 其次,這將是一個好習慣嗎?

在此處輸入圖片說明

編輯2:

對於具有相同問題的開發人員,請參考上述方法,以上述方法添加具有相對路徑的文件。 我在源代碼管理中添加了差異頁面的屏幕截圖。

在此處輸入圖片說明

將單個文件添加到VS安裝項目中是完全正常的。 每個生成MSI的工具都以這種方式工作。 VS安裝程序可能是例外,其輸入選擇為“項目輸出”類型,您幾乎不了解將要安裝的實際文件。 因此,通過單獨添加每個文件(包括該配置文件),您可以最好地控制MSI內容。 另外,某些文件確實不屬於“應用程序文件夾”(默認為“程序文件”),因為它們是屬於用戶應用程序數據之類的數據文件。

MSI構建從中獲取文件的路徑與該文件在目標系統上的部署位置無關。 通過使用目標計算機上的“文件系統”視圖,您可以告訴MSI構建將在目標系統上部署文件的位置,在該視圖中,您可以找到要添加文件的目標文件夾的列表。

同樣,復制到輸出目錄的東西與MSI文件的構建無關。 據我所知,其主要原因是允許您在代碼的輸出構建位置具有所有依賴關系,以便程序可以從該位置正確運行,並且恰巧使您有機會使所有文件運行放在同一位置的設置中 這並不意味着“將文件復制到MSI構建中並自動部署到目標系統上的方式”。

一旦MSI工作並安裝配置文件,您可能會遇到Windows Installer文件覆蓋規則,該規則將阻止您覆蓋安裝后已更新的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM