[英]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.