WinForm安装包制作,图解

来源:互联网 发布:ecshop php7 mysql 编辑:程序博客网 时间:2024/04/19 16:08
一.

1. 在现有项目的解决方案中添加新的项目: 右击"解决方案",选择"添加"--"新建项目", 在"添加新项目"的选择窗口中, "项目类型"选"其他项目类型"--"安装和部署","模板"选"安装项目",给新项目指定名称,位置;
2. 在新添加的安装项目上右击, 选择"视图"--"文件系统", 右击"目标计算机上的文件系统"作侧的"应用程序文件夹", 选择"添加文件"或者"添加项目输出",将你要安装的文件添加到该位置;
3. 初始的安装位置: 在上面的"文件系统"界面, 左击"应用程序文件夹", 在"属性"栏中找到"DefaultLocation", 默认的属性值是: [ProgramFilesFolder][Manufacturer]/[ProductName], 这就是用户安装的默认位置, 如果不是这样, 修改成这样.
4. 另外, 在"解决方案管理器"中, 点击你添加的安装项目, 在"属性"编辑栏中, 在[Manufacturer]中填入你公司的名字或者你自己希望的文字, 在[ProductName]填入你为要被安装的项目命名的名字.
5. 先在"解决方案管理器"中"生成"你的项目, 然后"生成"你的安装项目
6. 在"解决方案管理器"中,右击你的安装项目, 选择"安装", 便可在你的开发机上进行安装了, 在你的安装项目的路径下的bin下有两个文件夹: debug 和 Release,
7. 在解决方案管理器中,右击你的安装项目, 选择"属性", 如果你的项目属性里选择的是 "配置" 是 "debug", 则你生成的安装文件在 debug 里面, 如果选择的"配置"是 "Release", 则生成的安装文件在 Release 里面. 当然你也可以修改你的位置可文件名, 还可以对你的安装文件进行其它的设置.

二.
在解决方案管理器中, 右击添加的"安装项目", 选择"视图"--"注册表";

 

在"目标计算机上的注册表"下,默认有注册表的五个主键栏;
默认情况下, 在 [HKEY_CURRENT_USER] 和 [HKEY_CURRENT_MACHINE] 下会有 [Software]/[Manufacturer] 分支, 如果你的安装项目的属性中设置了 [Manufacturer]值, 安装后会用值去替代[Manufacturer], 例如 [Manufacturer] 的值 设置为 "Power Word", 则安装后会在 [Software]下创建一个[Power Word]分支;
默认情况下 [Manufacturer] 的 AlwaysCreate 属性是 false, 即:如果你的 [Manufacturer] 下没有项目,则不创建 [Manufacturer] ,如果无论如何都要创建这个键, 则可将 它的 AlwaysCreate 设置为 true;
依照上面的方法, 在你想建注册表项的主键中逐级新建分支项和项目, 在新建的注册表项目上右击后选属性, 设置注册项的 value 值;
无论是建主键分支还是项目, 都可以用 [] 的方法使用系统变量来动态指定需要添加的注册表内容. 例如:
[Manufacturer] 存放的是安装项目的公司值,
[ProductName] 存放的是安装项目属性中的 产品名称,
[TARGETDIR] 存放的是安装时用户选定的安装路径,
[COMPANYNAME] 存放的是安装时用户填入的公司名(如果没设用户信息安装界面则取操作系统中的公司名),
[USERNAME] 存放的是安装时用户填入的用户名(如果没设用户信息安装界面则取操作系统中的用户名,
如此等等

如果想要在安装时出现注册码, 要么自己做一个DLL或者EXE项目, 加入到 自定义操作中在安装时打开界面输入注册码, 要么使用VS安装项目自带的界面(在视图--用户界面中添加"用户信息"安装界面,设置showserialnumber 为 true), 不过那个注册码是用 模7 来验证的, 只要是验证位数值之和能被7整除都能通过, 就像以前安装盗板 office 97 时输入 "1111111"一样.

1:新建安装部署项目
打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)
此主题相关图片如下:

2:安装向导
关闭后打开安装向导,点击下一步,或者直接点击完成.


3:开始制作
安装向导完成后即可进入项目文件夹:
双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.

 


然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.
这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

 

然后右击左边的"应用程序文件夹"打开属性对话框:

将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,
不然的话做好的安装程序默认安装目录会是"c:/programm file/你的用户名/安装解决方案名称";

然后打开解决方案管理器,右击你的解决方案名称,选择属性:


在打开的属性页中,选择"系统必备",


在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!
选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)




好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!
4:制作完成
现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.



】关于"卸载"功能的添加
上面的文章只介绍了简单的生成安装的方法,
但是在vs.net2005下并没有直接生成卸载程序的功能,
所以我们只好用msi来实现了,
原理我就不讲了,网上一搜一堆,我只讲操作,
1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,
这个文件在c:/windows/system32文件夹下,


添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",



当然这个关系不大,改不改都行的.
然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,
我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,
这个区别很大,这时你就可以看到ProductCode了,

 


然后打开你创建的那个快捷方式的属性对话框,
在Aguements属性中输入"/x {ProductCode}",

 



好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了.
原创粉丝点击