2009-11-15 58 views
0

雖然我的工作,我有我的應用程序的位置硬編碼:跟蹤我的程序安裝位置的最簡單方法是什麼?

public static string MYPROGRAM_PATH = "/path/to/my/workspace"; 

很顯然,一旦我打包和分發我的應用程序,這將無法工作。我如何跟蹤它的安裝位置?

我主要關注linux打包(特別是.deb),但我打算將此作爲一個練習來學習有關Windows和Mac的打包,因此我們歡迎所有提示。

回答

1

有多種方式來確定.NET

Environment.CurrentDirectory 

安裝/運行位置將獲得當前的工作目錄。

如果您已經安裝了應用程序在Program Files文件的特定位置,您可以使用:

Environment.SpecialFolder.ProgramFiles; 

,我幾乎可以肯定有一些其他的方法來找出當前的運行路徑。

在Linux方面,我假設這將在Mono下運行?如果是這樣,我不確定他們是如何處理特殊文件夾的。

享受!

1

如果你想在路徑規劃的.exe,至少在微軟的.NET這是System.Reflection.Assembly.GetExecutingAssembly().Location(或Path.GetDirectoryName(...)如果你想要的目錄) 我相信,因爲2.0或在此之前已經在.NET,所以單應(剛剛檢查過,至少包含在Mono文檔中)。

1

如果您打算將軟件打包到deb(或者rpm)軟件包中,爲什麼不把軟件包安裝到/ usr/bin中,或者如果您對此不熟悉,請安裝它在/ usr/local/bin中。然後,您不必針對您的程序所在的位置播放20個問題。請查看「hier」的手冊頁以獲取有關文件應安裝在文件系統上的更多詳細信息。

相關問題