【问题标题】:Setup Project for Visual StudioVisual Studio 的安装项目
【发布时间】:2023-03-19 19:36:01
【问题描述】:

如果我右键单击设置项目并转到“用户界面”。

我们将看到“开始”。如果我右键单击并选择“添加对话框”

在添加对话框中,选择“客户信息”

如果我转到“客户信息”的属性,有一个名为“序列号模板”的选项卡。

是在安装程序时检查是否输入了正确的数字。

我不确定它是如何工作的。

有人吗?

【问题讨论】:

  • 你的问题究竟是什么

标签: visual-studio installation windows-installer setup-project setup-deployment


【解决方案1】:

我真的不知道你的问题是什么。 是的,“序列号模板”允许您在安装程序中添加一个表单,以验证用户是否输入了有效的序列号以及是否有权继续安装。

它提供了本质上是一个带掩码的编辑控件,允许您定义应用程序接受的序列号格式。您指定一个模板,该模板定义序列号被视为有效所需的字符模式。该模板用于在对话框中排列这些文本框以及用于验证。 (请参阅 MSDN 上的 documentation。)

以下字符被接受为模板的一部分,您输入的任何其他字符都被视为文字:

# 需要一个不会包含在验证算法中的数字。

% 需要一个数字 包含在验证算法中。

? 需要字母数字字符 不会包含在 验证算法。

^ 需要大写或小写 特点。数字不是 在这里有效。

  左侧的任何字符 这个角色在 对话框。

>   右侧的任何字符 这个角色在 对话框。需要作为 如果使用了

如上所示,在模板中指定带有% 的数字表示应根据 Windows Installer 验证算法检查它们。这实际上将所有检查的数字相加并将它们除以七。如果余数为零,则该数有效;否则,它不是。这不是一个特别强大的安全措施,因为该算法是众所周知的,但它提供了一种简单的方法来减少用户输入序列号时出现转录错误的机会。

例如,如果您使用模板<###-%%%%%%% - FOO - %%%>,您将看到以下对话框:
(被 Griffiths 等人从 Mastering Visual Studio .NET 无耻地偷走)

【讨论】:

  • 它们对我来说似乎相当简单,所以我不确定你对什么感到困惑。我解释了%# 相同,只是它包含在验证算法中。 ? 是字母数字,这意味着它可以是字母或数字。 ^ 需要字母,不接受数字。
  • OK.tkz。最后两个是什么?
  • 最后两个仅用于分隔模板本身(即开始和停止的位置)。 <...> 之外的字符将被忽略。
【解决方案2】:

该特定设置的文档位于http://msdn.microsoft.com/en-us/library/w3xwh311.aspx

关于验证序列号的(有些旧的)知识库文章位于http://support.microsoft.com/kb/253683/en-us

【讨论】:

    【解决方案3】:

    以上答案并没有说明如何自定义序列号验证,毕竟只输入序列号不验证是没有意义的。

    我们必须在自定义操作的 CustomActionData 属性中添加以下文本:

    /PIDKEY = [PIDKEY]

    然后您可以使用以下代码来获取并验证自定义操作项目中输入的序列号:

    string serial = 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多