当前位置:首页 > .NET其他

尝试做自己的万博官网用户登录 - (2) 技术可行性

发表于 2015-11-19 21:50

开始制作万博官网用户登录之前,还是研究一下技术可行性,对自己不知道的技术方面都作一个了解,确保以后真实制作起来不会遇到太大的技术问题。


一个最基本的安装程序要具体以下功能:

1. 打包。能把文件打包起来并且安装的时候能把文件解压出来。

2. 安装。安装之后要让程序能显示到系统的已安装程序列表中。

3. 卸载。让用户能在已安装程序列表中卸载程序。

4. 重复安装检查。控制程序的不能重复安装,若检查到程序已经安装则应准确的给出提示信息。

5. 创建快捷方式。安装完程序之后能让用户能很方便的通过快捷方式打开程序。


下面将对这几点最基本功能的技术可行性作一些介绍:

1. 打包。由于我们制作好的安装程序为一个exe程序,所以要把所有的文件都打包到这一个exe中,可以通过资源文件储存这些要打包的文件。资源文件扩展名为.resx,.NET提供了专门读写的类:ResXResourceReader和ResXResourceWriter。

2. 安装。Windows的已安装程序列表中的数据都是在注册表中读取。

所有用户的安装在Local_Machine下:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,

当前用户的安装在Current_User下:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall

如果是64位系统安装的32位程序节点稍有不同,分别是HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall和HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

3. 卸载。看一下安装时写入注册表的项后就知道,注册表项中有专门执行卸载程序的路径。所以我们只需要专门做一个卸载的exe即可,其实很多软件也都是这样做的,有一个叫做unins000.exe的卸载程序。下面是QQ游戏的例子:

尝试做自己的万博官网用户登录 - (2) 技术可行性 图1

这里还有一个问题,由于我们是通过一个exe来卸载程序,程序的文件我们都可以通过这个卸载exe来删除,但是它自己怎么删除自己呢?有两种做法:

a. 创建一个自删除的bat文件,在删除卸载exe之后删除自己。

b. 通过MoveFileEx命令把卸载exe放入重启删除列表中,这样Windows在重启之后就会删除该文件。很多软件卸载时提示重启后才能完全删除就是这个道理。

4. 重复安装检查。其实我们只需要检查注册表中有没有安装时写入的信息即可。

5. 创建快捷方式。网上有很多例子都是使用添加COM引用来实现的,需要多一个DLL。这个不是我们想要的,经过一番的查找后,可以用系统API、IShellLink和IPersistFile接口来实现。


基于以上几点,发现技术上是完全可行的。



本文章由创风网原创,转载请注明出处:http://www.windite.com/article/details/8hnk8q7