2011-08-07 109 views

回答

3

如果授權是每個用戶,請將其存儲在%APPDATA%目錄中。如果它是每臺計算機許可證,請將其存儲在%PROGRAMDATA%目錄或程序的安裝目錄中。

%APPDATA%是一個shell變量(可以通過在命令窗口中鍵入set查看它們)指向在當前用戶的應用程序數據應當被存儲的目錄。它通常是類似C:\Users\MyUser\AppData\Roaming。當指定打開文件的路徑時,可以直接使用%APPDATA%變量,例如, %APPDATA%\MyCompany\LicenseFile.dat。正如@cdhowie在他的評論中指出的那樣,使用.NET Environment.GetFolderPath()函數比使用環境變量更好。

%PROGRAMDATA%以同樣的方式工作,但映射到系統上所有用戶都通用的目錄。

+1

Anders,也許你可以簡單地解釋一下%APPDATA%和%PROGRAMDATA%的含義,因爲不是每個人都知道你指的是什麼。 –

+0

@Charles:這是個好主意。完成。 –

+3

因爲這是C#的標籤,所以使用'Environment.GetFolderPath()'可能比環境變量更合適。 – cdhowie

1

以加密註冊表項的形式存儲許可證可以是另一種選擇。 對於每臺計算機許可證,將密鑰存儲在HKLM \ Software 和每用戶許可證中,將密鑰存儲在HKCU \ Software

+0

我應該將包含加密數據的許可證存儲到註冊表項中嗎?你知道註冊表鍵可以存儲多大的數據嗎? –

+0

將授權信息存儲爲加密數據是最好的方法,因爲沒有人能夠理解數據,因此無法修補它。有關您對註冊表項限制的問題,請參閱以下鏈接http://msdn.microsoft.com/en-us/library/ms724872(v=vs.85).aspx –

相關問題