2011-06-06 83 views
1

情況:我有一個Windows桌面應用程序,它連接到各種服務(一次一個)以執行各種調用。無論連接到哪個服務,我的應用程序的工作方式都是相同的。應該在任何時候連接到哪個服務在application.config文件中定義。如何在不重新評估已安裝文件的VS2010安裝項目中添加快捷方式

爲了服務之間進行切換,我已經創建了幾個.BAT-文件,每個文件的替換爲新的一個(服務端點)使用現有的config文件窗口。

對於這一切,我創建了一個安裝程序(MSI時,使用「安裝項目」模板在Visual Studio 2010)。此安裝程序還創建快捷方式:

  1. 應用程序本身
  2. 第一.bat文件(用於設置配置文件與「默認」的服務端點)
  3. 第二.bat文件。 (該配置文件替換了替代的一個)

問題:每次我運行任何這些(應用程序或.bat文件),通過該快捷方式,他們似乎「reevalueate」已安裝的文件在實際運行目標之前。只要我使用默認的.config文件,這是沒有問題的,因爲它就是它的安裝方式。但是,如果我已經運行了第二個.bat文件,並且正在嘗試運行該應用程序,以便它連接到第二個服務,那麼通過快捷方式啓動該應用程序會導致.config文件被還原,最後我會連接到首先是服務。

我可以手動創建自己的快捷方式,同時向.bat文件和應用程序本身,而且做工精細。我希望這會自動發生,但不會搞亂其他文件的任何更改。

任何想法,將不勝感激! 在此先感謝,
-Kjartan

回答

0

感謝喬治。這有點令人討厭,我很驚訝,似乎沒有一種好的方法來默認禁用它。以爲我會分享我們最終使用的解決方案,即使它並不完美:我們將使用以下參數從命令提示符運行安裝程序,從而生成「正常」快捷方式。

的Setup.exe DISABLEADVTSHORTCUTS = 1

這意味着,我們不能讓我們的用戶安裝應用程序,因爲他們通常會,用一個簡單的雙擊。但是,這意味着我們(程序員)不必在每次進行新部署時都使用某種外部工具編輯生成的安裝程序;這是一個可接受的權衡,因爲這是一個內部唯一的應用程序。

再次感謝,
-Kjartan

相關問題