1

如果我右鍵單擊安裝項目並轉到「用戶界面」。Visual Studio的安裝項目

我們會看到「開始」。如果我點擊右鍵並選擇「添加對話框」

在添加對話框中,選擇「客戶信息」

如果我去「客戶信息」的屬性,有一個叫做「序列號模板」選項卡。

檢查程序安裝時是否輸入了正確的數字。

我不知道它是如何工作的。

有人嗎?

該特定設置
+0

什麼是你的問題其實 – TalentTuner 2010-11-22 08:35:29

回答

3

我真的不知道你的問題是什麼。 是的,「序列號模板」允許您向安裝程序添加表單,以驗證用戶是否輸入了有效的序列號以及是否授權安裝。

它提供了什麼本質上是一個蒙面的編輯控件,允許您定義您的應用程序接受的序列號格式。您可以指定一個模板來定義序列號被視爲有效的字符模式。該模板用於在對話框中排列這些文本框以及用於驗證。 (請參閱MSDN上的documentation

以下字符被接受爲模板的一部分,而且你輸入任何其他字符都被視爲文字:

#  需要一個數字,將不包含在驗證算法中。

 需要包含在驗證算法中的數字 。

 需要一個不包含在 驗證算法中的字母數字字符 。

^  需要大寫或小寫 字符。數字數字不是 在這裏有效。

<  任何字符到 對話框這個人物將是不可見的 左側。

>  任何字符到 對話框這個人物將是不可見的 的權利。如果使用<字符,則作爲 終止符是必需的。

如上所示,在模板中指定%的數字表示應該根據Windows Installer驗證算法檢查它們。這基本上將所有檢查的數字加起來並將它們除以7。如果餘數爲零,則該數字有效;否則,它不是。這不是一個特別強大的安全措施,因爲該算法是衆所周知的,但它提供了一種簡單的方法來減少用戶鍵入序列號時發生轉錄錯誤的機會。

例如,如果您使用的模板<###-%%%%%%% - FOO - %%%>,你會得到這個對話框: Sample installer dialog, verifying a serial number
(由格里菲斯從Mastering Visual Studio .NET無恥地竊取等。)

+0

啊..使用%將是脆弱的如果我們輸入所有的ZERO .. – william 2010-11-22 08:49:57

+0

不是很確定其餘的除了#.. 你能解釋一下嗎? – william 2010-11-22 08:50:45

+0

他們對我來說看起來相當簡單,所以我不確定你對此感到困惑。我解釋過'%'與'#'相同,只是它包含在驗證算法中。 '?'是字母數字,意味着它可以是字母或數字。 '^'需要一個字母,不會接受數字。 – 2010-11-22 08:53:28

0

以上的答案沒有解釋如何自定義序列號驗證,畢竟,如果您只輸入了序列號,但沒有驗證它,則沒有任何意義。

我們必須在自定義操作的CustomActionData屬性中添加以下文字:

/PIDKEY = [PIDKEY]

然後可以使用以下代碼來取得並驗證輸入的序列號在自定義操作項目:

串序列= Context.Parameters [ 「PIDKEY」]

相關鏈接:

http://msdn.microsoft.com/en-US/library/vstudio/8z9h65a3(v=vs.100).aspx

http://msdn.microsoft.com/en-US/library/vstudio/aa370826(v=vs.100).aspx

如何建立一個自定義操作項目:

http://msdn.microsoft.com/en-US/library/vstudio/d9k65z2d(v=vs.100).aspx