问题描述
我用 c# 制作了一个 windows 窗体应用程序.现在我想使用许可证密钥输入为同一个应用程序制作一个 Windows 安装程序包.输入并验证许可证密钥后,应将其保存在 Windows 注册表中.
I have made a windows Form application in c#. Now I want to make a windows installer package for the same application with license key input. Once license key has been entered and validated it should be saved in the windows registry.
此外,我对仅使用一次许可证密钥有独特的要求.成功安装软件后,自动许可证密钥和软件包应该过期,以便将来如果客户想要重新安装它,他必须与回联系.
Also I have unique requirement of using the license key only once. Once the software has been successfully installed automatically license key and the package should be expired so that in future if the client want to reinstall it he has to contact back.
推荐答案
基本上,使用包中包含的自定义操作执行序列号验证.但是,如果自定义操作只是验证号码,则不能限制序列号的使用,即序列号可以被多个用户共享.
Basically a serial number validation is performed using a custom action included in the package. However, if the custom action just validates the number it cannot limit the serial number usage, i.e. the serial number can be shared by multiple users.
要限制使用它,您可以使用服务器端验证,即让自定义操作连接到 Web 服务器,根据来自该服务器的数据库检查序列号,并且在该数据库中您还可以检查是否序列号是否已经激活.
To have it with limited usage you can use a server-side validation, i.e. have the custom action connect to a web server, check the serial number against a DB from that server, and in that DB you can also check if that serial number was already activated or not.
在高级安装程序用户指南中,您可以找到服务器端序列号验证示例,现在确定您当前使用的安装程序工具.
In Advanced Installer user guide you can find a server-side serial number validation sample,now sure what installer tool you are currently using.
请注意,服务器端验证要求您的所有用户在安装过程中都拥有有效的互联网连接.
NOTE, server side validation imposes that all your users will have an active internet connection during the installation process.
这篇关于如何使用许可证密钥输入制作 Windows 安装程序包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!