2009-01-29 52 views
2

我目前正在尋找一種方法來覆蓋以前版本的設置項目輸出。 IE當建立一個安裝項目時,它會替換Release/Debug文件夾中的任何東西,是否有任何方法將輸出重命名爲某些內容,包括版本號或日期,以便它不覆蓋之前的文件,甚至爲每個版本創建包含日期和時間的單個文件夾。將Microsoft安裝程序輸出重命名爲當前版本

我知道這可以用PostbuildEvents來完成,但是我不知道需要做什麼。

順便說一句,這是的Visual Studio 2008

回答

4

這比我預料的要難; PostBuild事件值不會擴展部署屬性,並且我看不到從命令行獲取程序集版本的方法。

我想出的解決方案是創建一個PostBuild事件,該事件會將項目輸出複製到使用%DATE%和%TIME%環境變量上的子串評估構造的文件名,以獲取唯一的文件名。這給一試:

COPY "$(BuiltOuputPath)" "$(ProjectDir)YourProjectName%DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.msi"

是的,它的拼寫爲 「BuiltOuputPath」 3 「T」 ...。感謝微軟!

+1

是啊「輸出」[原文]! – 2012-02-17 20:42:03

相關問題