簡體   English   中英

.NET安裝程序包安裝程序

[英].NET Setup Package Installer

我有一個.NET 3.5安裝程序包項目,它可以成功安裝我的應用程序。

安裝程序包部署了一個(大約70個)自定義文件,以便在應用程序中使用。

我有時需要刪除其中一些文件,但是在重新啟動可執行文件時,它會自動再次運行一部分安裝MSI,並重新安裝這些文件。

我現在唯一可以實現所需結果的方法是在啟動可執行文件后刪除文件。

我已經查看了安裝程序包中的文件屬性,例如Vital和PackageAs,但似乎無法確定實現此目的所需的設置。

有沒有人知道實現這個目的需要什么?

非常感謝

來自http://msdn.microsoft.com/en-us/library/kz0ke5xt%28v=VS.100%29.aspx

“如何關閉用戶需要修改或刪除的文件的修復?

Visual Studio會創建通告的快捷方式,以便在程序啟動時驗證其所有文件是否存在。 若要更改此行為並導致其不修復該文件,請在安裝項目中選擇文件並將Condition屬性更改為NOT REINSTALL,以便在修復時將文件重新安裝,並將其Transitive屬性更改為TRUE,以便條件為重新評估。 這將導致安裝程序在刪除文件后第一次在屏幕上閃爍,因為它會驗證不應重新安裝該文件,但之后您將看不到安裝程序。

這也讓我感到惱火,我不知道為了防止這種情況需要改變的具體設置,但我可以告訴你一個我用過的解決方法。 我發現只有當我從作為安裝的一部分安裝的快捷方式運行應用程序時才會發生這種情況。 因此,如果您創建一個新的應用程序快捷方式並通過該快捷方式運行它,那么您刪除的文件將不會自動恢復。

Windows Installer支持三種類型的產品升級:主要升級,次要升級和小更新。 在什么情況下可以在此處找到升級的概要: http//helpnet.flexerasoftware.com/robo/projects/installshield12helplib/MajorMinorSmall.htm

您要做的是設置安裝程序,使新版本的軟件將文件刪除視為先前版本的升級。 如果您沒有這樣做,然后刪除文件,程序安裝認為它已損壞,並嘗試恢復您再次執行程序時刪除的文件。

在InstallShield(我熟悉的安裝程序產品)中,有一個產品GUID和一個升級GUID 升級GUID 始終在不同版本的產品系列中保持不變 產品GUID 隨每個新的MAJOR或MINOR版本而變化 通常,如果您遵循此模式,然后在新版本中指定文件刪除,則安裝程序應將文件刪除解釋為升級,並且在后續執行新安裝的版本時不應出現任何錯誤。

暫無
暫無

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

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