2011-11-25 46 views
1

我需要幫助獲取Windows服務程序中的特殊文件夾。我在Windows窗體應用程序使用此代碼:Windows服務項目中的AppData Roaming文件夾

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 

,並得到了路「」 C:\用戶\\應用程序數據\漫遊「*

但是,如果我在運行相同的代碼我WINOWS服務項目中,我得到了路徑:。 「C:\ WINDOWS \ ServiceProfiles \本地服務\應用程序數據\漫遊\」

但我需要早期的路徑(Windows窗體了)我如何獲得一樣服務projet的路徑也。

我在「C:\ Users \\ AppData \ Roaming」文件夾中有用戶設置文件,日誌,配置文件。因此,我必須在我的Windows窗體應用程序和Windows服務項目中引用相同的路徑。

有人可以告訴我,這裏有什麼區別,以及我如何在這兩種類型的項目中獲得相同的路徑?

感謝, 沙拉斯

回答

3

你的Windows服務應使用「用戶」帳戶,而不是「本地服務」或「本地系統」。

 ServiceProcessInstaller process = new ServiceProcessInstaller(); 
     process.Account = ServiceAccount.User; 

在安裝服務期間,您需要指定當前登錄用戶的用戶名和密碼。用戶名應採用以下格式:「MachineName \ UserName」。例如:「。\ John」

相關問題