Проект установки для Visual Studio

Если я щелкну правой кнопкой мыши проект установки и перейду к «Пользовательскому интерфейсу».

Мы увидим «Старт». если я щелкну правой кнопкой мыши и выберу «Добавить диалог»,

В диалоговом окне «Добавить» выберите «Информация о клиенте».

Если я зайду в свойства «Информация о клиенте», там есть вкладка «Шаблон серийного номера».

Это нужно для проверки правильности ввода номера при установке программы.

Я не уверен, как это работает.

Любой?


person william    schedule 22.11.2010    source источник
comment
каков твой вопрос на самом деле   -  person TalentTuner    schedule 22.11.2010


Ответы (3)


Я действительно не знаю, какой у вас вопрос. Да, "Шаблон серийного номера" позволяет добавить в программу установки форму, которая проверяет, ввел ли пользователь действительный серийный номер и разрешено ли продолжение установки.

Он предоставляет то, что по сути является замаскированным элементом управления редактированием, который позволяет вам определять формат серийных номеров, который принимает ваше приложение. Вы указываете шаблон, который определяет шаблон символов, необходимый для того, чтобы серийный номер считался действительным. Шаблон используется для размещения этих текстовых полей в диалоговом окне, а также для проверки. (См. документацию в MSDN.)

Следующие символы принимаются как часть шаблона, а любые другие символы, которые вы вводите, обрабатываются как литералы:

Требуется цифра, которая не будет включена в алгоритм проверки.

% Требуется цифра, которая будет включена в алгоритм проверки.

? Требуется буквенно-цифровой символ, который не будет включен в алгоритм проверки.

^ Требуется символ верхнего или нижнего регистра. Числовые цифры здесь недопустимы.

Любые символы слева от этого символа не будут отображаться в диалоговом окне.

Любые символы справа от этого символа не будут отображаться в диалоговом окне. Требуется в качестве разделителя, если используется символ ‹.

Как показано выше, указание цифр с % в шаблоне означает, что они должны быть проверены по алгоритму проверки установщика Windows. По сути, это складывает все проверенные цифры и делит их на семь. Если остаток равен нулю, число действительно; в противном случае это не так. Это не особенно сильная мера безопасности, поскольку алгоритм довольно хорошо известен, но он обеспечивает простой способ уменьшить вероятность ошибки транскрипции, когда пользователь вводит серийный номер.

Например, если вы использовали шаблон <###-%%%%%%% - FOO - %%%>, вы получите следующее диалоговое окно: Пример диалогового окна установщика, проверка серийного номера
(бесстыдно украдено из Mastering Visual Studio .NET Гриффитса, и другие.)

person Cody Gray    schedule 22.11.2010
comment
Мне они кажутся довольно простыми, поэтому я не уверен, что вас смущает. Я объяснил, что % такой же, как #, за исключением того, что он включен в алгоритм проверки. ? является буквенно-цифровым, то есть это может быть буква или цифра. ^ требует буквы и не принимает цифры. - person Cody Gray; 22.11.2010
comment
ок.ткз. что насчет последних двух? - person william; 22.11.2010
comment
Последние два просто используются для разграничения самого шаблона (т. е. где он начинается и где заканчивается). Символы вне <...> будут игнорироваться. - person Cody Gray; 22.11.2010

Документация по этому конкретному параметру находится по адресу http://msdn.microsoft.com/en-us/library/w3xwh311.aspx

(Несколько старая) статья базы знаний о проверке серийных номеров находится по адресу http://support.microsoft.com/kb/253683/en-us

person Carson63000    schedule 22.11.2010

В приведенных выше ответах не объяснялось, как настроить проверку серийного номера, в конце концов, это бессмысленно, если вы просто вводите серийный номер, но не проверяете его.

Мы должны добавить следующий текст в свойство CustomActionData пользовательского действия:

/ПИД-КЛЮЧ = [ПИД-КЛЮЧ]

Затем вы можете использовать приведенный ниже код для получения и проверки серийного номера ввода в Custom Action Project:

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

person eric xu    schedule 19.11.2013