vs2005打包winform程序时如何添加序列号验证

解决方案 »

  1.   

    在安装项目中打开“用户界面”在启动节点中添加“客户信息”并在属性窗口中设置如下的属性:
    SerialNumberTemplateMSDN中对这个属性描述如下:Visual Studio 中的部署  
    SerialNumberTemplate 属性  
    指定一个模板,该模板用于在目标计算机上安装期间验证“客户信息”对话框中输入的序列号。SerialNumberTemplate 属性决定文本框在对话框中的显示方式,并确定是仅对序列号的格式进行验证,还是按照 Windows Installer 算法对序列号进行验证。例如,将 SerialNumberTemplate 属性设置为“<### - %%%%>”会创建两个文本框,它们由两端加空格的短划线分隔。对第一个框 (###) 的验证仅验证用户是否已输入三个数字。第二个框 (%%%%) 是通过将各个数字相加并将所求得的和除以 7 这样的算法进行验证的。如果余数为 0,则验证成功,否则验证失败。可编辑字符以文本框内的占位符的形式出现在“客户信息”对话框中;其他任何字符则以标签的形式出现在文本框之间。注意 
    每次更改可编辑字符时都会创建一个单独的文本框。例如,输入“#?%”时,会创建三个文本框,每个文本框接受一个字符。
     
    SerialNumberTemplate 属性的有效可编辑字符如下所示:字符  含义  
    #
     要求输入一个数字,该数字将不包括在验证算法中。
     
    %
     要求输入一个数字,该数字将包括在验证算法中。
     
    ?
     要求输入一个字母数字字符,该字符将不包括在验证算法中。
     
    ^
     需要大写或小写字符。在此处输入数字是无效的。
     
    <
     该字符左边的所有字符在对话框中都不可见。
     
    >
     该字符右边的所有字符在对话框中都不可见。如果使用 < 字符,则需要输入它作为结束符。
     任何其他字符都被视为文本常数。备注
    如果 ShowSerialNumber 属性设置为 true,则在允许用户移动到下一个安装步骤之前,根据 SerialNumberTemplate 属性中指定的模板对序列号进行验证。如果 ShowSerialNumber 属性设置为 false,则 SerialNumberTemplate 属性无效。