可能重複:
Where and how should I save license related information?我應該在哪裏存儲許可證文件?
我爲了向用戶分發創建爲我的應用許可文件。但我不知道應該在哪裏存儲許可證文件在用戶計算機中。
有什麼建議嗎? 謝謝
可能重複:
Where and how should I save license related information?我應該在哪裏存儲許可證文件?
我爲了向用戶分發創建爲我的應用許可文件。但我不知道應該在哪裏存儲許可證文件在用戶計算機中。
有什麼建議嗎? 謝謝
如果授權是每個用戶,請將其存儲在%APPDATA%
目錄中。如果它是每臺計算機許可證,請將其存儲在%PROGRAMDATA%
目錄或程序的安裝目錄中。
%APPDATA%
是一個shell變量(可以通過在命令窗口中鍵入set
查看它們)指向在當前用戶的應用程序數據應當被存儲的目錄。它通常是類似C:\Users\MyUser\AppData\Roaming
。當指定打開文件的路徑時,可以直接使用%APPDATA%
變量,例如, %APPDATA%\MyCompany\LicenseFile.dat
。正如@cdhowie在他的評論中指出的那樣,使用.NET Environment.GetFolderPath()
函數比使用環境變量更好。
%PROGRAMDATA%
以同樣的方式工作,但映射到系統上所有用戶都通用的目錄。
Anders,也許你可以簡單地解釋一下%APPDATA%和%PROGRAMDATA%的含義,因爲不是每個人都知道你指的是什麼。 –
@Charles:這是個好主意。完成。 –
因爲這是C#的標籤,所以使用'Environment.GetFolderPath()'可能比環境變量更合適。 – cdhowie
以加密註冊表項的形式存儲許可證可以是另一種選擇。 對於每臺計算機許可證,將密鑰存儲在HKLM \ Software 和每用戶許可證中,將密鑰存儲在HKCU \ Software
我應該將包含加密數據的許可證存儲到註冊表項中嗎?你知道註冊表鍵可以存儲多大的數據嗎? –
將授權信息存儲爲加密數據是最好的方法,因爲沒有人能夠理解數據,因此無法修補它。有關您對註冊表項限制的問題,請參閱以下鏈接http://msdn.microsoft.com/en-us/library/ms724872(v=vs.85).aspx –
爲什麼不在應用程序文件夾中? 您可以在安裝結束時顯示它。 –