2010-11-05 81 views
9

我有我的應用程序的安裝/部署項目,它輸出某些文件(* .dll,* .dat)到應用程序文件夾。Visual Studio安裝項目條件如果文件存在

我想設置一個條件來檢查一個文件是否存在或不存在。如果沒有,請寫下來,但如果是這樣,請勿從包裝中安裝。可能嗎?

該文件被稱爲「database.dat」,並在屬性下,我看到一個「條件」屬性,但我不熟悉放在那裏。

任何輸入,非常感謝。提前致謝。

編輯:

之所以會存在是從以前的安裝將有從數據集/數據表中,我們不希望重寫的數據。

回答

23

僅安裝一個文件,如果它不存在,請按照下列步驟操作:

  1. 添加下安裝項目的「啓動條件」視圖中的「搜索目標計算機」項。

  2. 填寫FileName屬性和Folder屬性。

  3. Property屬性應該是一個常數,你能記住,就像在你的項目中的「文件系統」視圖「MY_AWESOME_FILE_EXISTS
  4. ,定位安裝,這增加了Condition財產「not MY_AWESOME_FILE_EXISTS
  5. 組件

就是這樣。

源(因爲我必須想出解決辦法爲自己):

+0

你是一個美麗的人。謝謝你,我最親密的朋友。 – 2012-05-08 18:32:30

+0

@ACK_stoverflow,謝謝你只是讓我的一天:)這是我今天看到的第一個互聯網。我現在正在微笑大時間! – 2012-05-09 07:01:26

+0

任何時候,bub;) – 2012-05-10 14:21:19

0

Condition-attribute正好滿足您的需求:一個存在 -condition。簡化示例如下:

<Copy Condition="!Exists($(DestPath)database.dat)" 
     SourceFiles="$(SrcPath)database.dat" 
     DestinationFolder="$(DestPath)"/> 

另請參閱this topic

+1

這將在Visual Studio安裝項目中的文件的Condition屬性中看起來如何? – CyberMonk 2010-12-17 01:43:49

0

在安裝項目,右點擊你想保留在安裝文件夾中的文件,選擇Prope rties並將永久設置爲true。

+0

這並不能解決問題。如果您標記爲永久並卸載,則更改該文件並重新安裝它將被覆蓋。 – Guge 2015-12-17 13:59:14

相關問題