用vs安装部署的时候,如何制作序列号?

zjljyj 2008-03-25 09:02:49
制作了一个程序,人家说要设计序列号,以防被人任意拷贝。
用vs安装部署的时候,如何产生序列号?
如果vs不能用序列号的话,那么其他软件可以吗?

另外大家对软件的保护措施还有其他的好的方法吗?
...全文
625 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjx2003 2011-06-07
  • 打赏
  • 举报
回复
SerialNumberTemplate algorithm

Is there any way to modify the ‘SerialNumberTemplate algorithm to increase security, other than the default algorithm – The Sum divided by 7?

latoc

---------------------------------------
Hi latoc,

According to my experience, this default algorithm cannot be specified in VS. If you want to verify the serial number in your owner logical, you'd better think of the following two solution.

1. Raise a dialog to let your user input serial number, verify it in your own code, if faild, rollback the installation.
2. Verify serial number at the first run, tell the user to input number, if it success, store the number to the Windows register. Each time run your application, check register for the number first, if there is no valid number there, it indicate your user haven't activate the product.

Please tell me if you have any problem with this.

Sincerely,
Kira Qian
-------------------------------------------------



Hi Rahul SIngi,

That dialog cannot be add in UserInterface wizard. It is raised use custom action. Custom action is the code that will be run during installation. To know about custom action, here is a good sample.
http://www.codeproject.com/KB/install/Installation.aspx

I do not mean the whole sample will implement this. You can first make a form with a textbox and a button, (textbox for product key input, button for submit). Then handle the BeforeInstall event to show that form using ShowDialog method. When user click OK button, validate his product key. If the key is valid, set DialogResult to OK. In your installer class, if the DialogResult is Ok, go on installation. Else call Rollback() force it to cancel installation. That is what I mean.

Sincerely,
Kira Qian
chengxuLIXIAOXING 2009-06-01
  • 打赏
  • 举报
回复
1、发布站点
2、新建安装部署程序
WEB安装项目
3、添加项目文件--》WEB应用文件
4、修改虚拟目录
5、添加msiexec.exe(SYSTEM32文件夹中的)
6、选中解决方案的“安装项目”,点击属性
7、复制Productcode的代码
8、创建msiexec.exe的快捷方式打开属性
9、在argents选项后添加/X(Productcode的代码)
10、再添加卸载程序的文件目标(如:用户桌面)
11、生成解决方案
zjljyj 2008-04-03
  • 打赏
  • 举报
回复
取硬盘SN,取CPU,如此这般,对这些数据进行运算,然后进行MD5处理


有没有相应的过程和类呢?
我没有接触过这些东西,怎么取硬盘的sn我也不太清楚。

谁能给点代码
CloneCenter 2008-04-03
  • 打赏
  • 举报
回复
自定义安装动作的部分,可以看看李洪根以前写的一片文章:
http://blog.csdn.net/lihonggen0/archive/2004/05/17/13654.aspx
Ny-6000 2008-04-01
  • 打赏
  • 举报
回复
至于保护上,那工具可多了.

一般需要多重加壳什么的.
要不很容易就被盗了.
guoruixing 2008-03-31
  • 打赏
  • 举报
回复
一定要安装部署做吗?安装完运行的时候做也可以啊
fishidea 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 thunor 的回复:]
取硬盘SN,取CPU,如此这般,对这些数据进行运算,然后进行MD5处理,就可以生成唯一一个序列号,不一定要弄到部署里,程序里也可以,这样,不注册的程序功能受限或不能用.
[/Quote]

这是个好方法,也比较简便^_^
findidea 2008-03-30
  • 打赏
  • 举报
回复
这个问题可以用灵活的办法解决。用第三方的打包,不但可以有用户名和注册码,还可以设定运行次数,日期限制等。

再不行用WINRAR做个压缩包,加密。这种加密要破的比一般的都难(甚至是不可能破解)

不知道说的对不对,供楼主参考。

thunor 2008-03-29
  • 打赏
  • 举报
回复
取硬盘SN,取CPU,如此这般,对这些数据进行运算,然后进行MD5处理,就可以生成唯一一个序列号,不一定要弄到部署里,程序里也可以,这样,不注册的程序功能受限或不能用.
zjljyj 2008-03-28
  • 打赏
  • 举报
回复
有没有别的生成序列号的方案呢?
带用户名,不带用户名都可以

vs的安装部署里面,可以自定义界面,但是不知道在什么地方写代码?
rockyvan 2008-03-27
  • 打赏
  • 举报
回复
Mark
tangweikai 2008-03-27
  • 打赏
  • 举报
回复
我也试过很久,因为时间不多,到现在也未能找到一个在安装部署中比较满意的序列号验证方案...
好象行不通的..
zjljyj 2008-03-26
  • 打赏
  • 举报
回复
如何写这个角本呢?

我在vs.net的安装与部署里面,发现了自定义操作,但是如何设定输入序列号的程序呢?
wtk13 2008-03-25
  • 打赏
  • 举报
回复
CloneCenter 说的对

.NET自己的安装程序,需要自己做个界面,要写程序判断

就算你用其它安装软件也是要写脚本的。
CloneCenter 2008-03-25
  • 打赏
  • 举报
回复
自定义安装程序界面,添加输入框;
另外,还需要自定义安装程序代码,指定在提交的时候验证序列号是否正确。不过可能是比较麻烦的。

建议另外找一个安装工具,例如InstallShield,或者WiseInstall这样的工具来做。

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧