惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

博客园 - Asidy

[转]禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项 - Asidy [转]SQL Server 2005备份集中的数据库备份与现有的数据库不同的解决方法 asp.net中向数据库中插入数据时如何获得当前插入行的主键? css中visibility与display的区别 一个比较纯洁的DIV+CSS下拉菜单 基于.NET平台的Windows编程实战系列课程导航及源码下载 一个用JS写的IP/时间/日期/email的验证函数 [转]同时安装MSSQL2000与MSSQL2005时所遇到的问题及解决方法小记 LINQ编程实战之TreeView动态绑定数据 一个老师的自责、道歉与思考 基于.NET平台的Windows编程实战(八)— 数据库管理及其他辅助功能的实现 基于.NET平台的Windows编程实战(七)—— 问卷统计功能的实现 基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 让别人说话 基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现 [翻译]在Windows窗体中如何使用透明图片和标签 基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写 基于.NET平台的Windows编程实战(三)—— 项目的创建及主界面的设计 FileStream类/StreamWriter类/StreamReader的使用
基于.NET平台的Windows编程实战(九)— 安装与部署
Asidy · 2009-06-08 · via 博客园 - Asidy

申明:本系列课程是专为新手们写来入门练习用的,目的是想通过一个完整的问卷调查管理系统案例来让新手们了解、加深或是熟悉项目的开发流程及在.NET平台上使用
VS2005和C# 进行Windows方面的编程;在整个课程的设计上,我尽量避开或是根本不讨论底层的以及性能优化等方面的东西,故高手完全可以无视本系列课程。
 

本课将带领大家一起来实现系统的安装与部署,也即系统的打包。本课程为实操课程,其设计思路也没有什么可讲的,故本课的编排将按照第三课的编排来进行,
即通过操作步骤来进行讲解。
第一步:创建一个新的Windows安装项目
打开VS2005,点击“文件”-->“新建”-->“项目”,在弹出的对话框里,在左边选择“其他项目类型”,在右边选择“安装项目”,
并在下面的名称里输入“QuestionnaireSystemSetup”,解决方案选择:添入解决方案,并选择相应的保存位置后,点“确定”,如下图9-1所示:

图9-1

这样一个新的Windows安装项目就创建好了。

第二步:添加项目输出及项目资源文件
     创建好安装项目后,下面先来添加项目输出,也就是将之前我们编写好的系统主输出文件添加到安装项目中去,以便打包成软件。
方法:右击“
QuestionnaireSystemSetup
项目名称,在弹出的菜单选择“添加”—>“项目输出”,之后在弹出的对话框中选择“主输出”,点确定即可,
如下图
9-2所示:

9-2    
OK
,这样项目的主输出就添加好了,下面我们把项目所需要的资源文件也添加到安装项目中去吧。
首先,我们在文件系统窗口左边的“目标计算机上的文件系统”中的应用程序文件夹中新建二个文件夹
[方法:右击—>添加à文件夹]
一个为
DataBase,一个为Images,分别用来存放系统的数据库文件与系统中Images文件夹中的图片等资源;添加好文件夹后,我们再分别将系统中的数据库文件
Images文件夹里的所有资源文件都添加到新建的这二个文件夹中去[方法:右击à添加à文件,在弹出的对话框中找到所需的资源,点选择即可]
添加后如下图
9-3所示:

                                                    图9-3

第三步:创建桌面及程序菜单中的快捷方式
     我们先在如上图9-3所示中的用户的“程序”菜单中新建一个名为“问卷调查管理系统”的文件夹[方法同上].
之后,右击如上图9-3中所示的“主输出来自QuestionnaireSystem(活动),在弹出的菜单中选择“主输出来自QuestionnaireSystem(活动) 的快捷方式”,
创建好二个这样的快捷方式后,分别将其拖到上图9-3中左边的用户桌面及刚才新建的“问卷调查管理系统”文件夹中去,最后再分别将他们重命名为“问卷调查管理系统”,
以及点击其Icon属性为其选择一个Icon显示图标,即设置显示在桌面上的快捷方式图标。
 
第四步:创建卸载程序
首先,我们先从操作系统中COPY一个Windows @instaler文件放到Images文件夹中[在系统中的system32文件夹中,如系统装在C盘,则在C:\WINDOWS\system32\siexec.exe]
之后,我们再为主输出创建一个快捷方式[方法如上第三步所示],将其重命名为“卸载问卷调查管理系统”,并把它拖到左边用户的“程序”菜单中新建的
“问卷调查管理系统”文件夹中去,如下图
9-4所示:

图9-4
点击上图9-4所示中右边的“卸载问卷调查管理系统”,将其对应的属性分别设置成如下所示:
Arguments: /x{6D076041-3B80-446F-B0D0-0D5F86B27322} 
Description:卸载问卷调查管理系统
Icon:浏览并在Images文件夹中选择一个logo.ico图标
Target:浏览并选择我们从系统盘中COPYImages文件夹中的msiexec.exe
 
第五步:依赖项与项目的生成
大家都知道,用.net开发出来的软件总会依赖于一个.net framwork类库,也就是说如果要使安装的软件能够正常运行,我们就必须为其提供一个.net 的运行环境,
那么该怎么办呢?其实,微软为我们提供了三种依赖项的获取方法,我们可以通过右击安装项目,选择属性,在弹出的对话框,点击“系统必备”之后,
就会弹出一个系统必备组件选择的对话框,在这里我们如下图
9-5所示一样选择第二项:从与我的应用程序相同的位置下载系统必备组件,这样当我们打包系统的时候,
VS就会自动将这些必备的依赖项打包进我们的软件安装包里面了,而无需用户去下载了。

图9-5
设置好如上的一切后,我们只要右击安装项目名,在弹出的菜单中选择“生成”,即可将系统打包成用于安装软件的.exe文件了,
其打包后的.exe文件默认在安装项目下面的Debug文件夹中,直接把这文件夹中的所有文件COPY给用户进行安装就可以了;
你也可以在打包时将系统的生成配置属性设置为:活动(Release)[设置前需要将系统的配置属性设置为] ,这样在生成时VS就会自动为其进行相应的优化了,
当然最后生成的文件也就是在安装项目下的Release文件夹中了。
最后,提醒一下:打包时请检查一下MainForm.csToolForm.cs以及DbOperate.c文件中的所有的文件路径是否去掉了前面的“..\..\”,
否则打包安装后,将会出现找不到文件的错误!
 

OK,到此,本系列课程就算全部结束了,真心的希望它能给大家带来一点帮助!
在随后的时间里,我还会继续给大家讲解其它方面的实战课程,如MVCLINQ……希望大家继续关注,谢谢……

附:本课程源码下载