
1首先打开已经完成的工程
2“文件”——>“新建”——>"项目"——>"安装项目"
3"名称"——可以自己根据要求修改。
"位置"——是指你要制作的安装文件存放在什么目录内,可以根据需要修改,笔者一般是把它放在本工程的同一个目录内。打包完成后,可以在此目录下找到安装程序。
确定后,看到解决方案资源管理器中增加了SetupDemo方案。当然名字仍然可以修改
END
开始制作安装包
1安装向导完成后即可进入项目文件夹:直接点右键选择"添加"—>"项目输出"
2选择主输出之后点击确定
添加卸载程序
即在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,
这个文件在c:\windows\system32文件夹下
卸载程序的位置
创建快捷方式
然后右击你的可执行文件,创建快捷方式
如果想在开始程序中单独创建文件夹,你就应当在“用户的‘程序’菜单”中建立文件夹并为它起个名子,并把快捷方式放到这个文件夹中。
然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中。
这样安装程序安装完成后会在"开始->所有程序"和"桌面"上生成程序的快捷方式
如果还需要添加其他文件,例如报表模板等等
设置卸载属性
我选择把卸载程序的快捷方式放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,这个区别很大,这时你就可以看到ProductCode了
然后打开你创建的那个快捷方式的属性对话框,
在Aguements属性中输入"/x {ProductCode}"
加入.NET系统组件
选择系统必备
最后,点击"生成"即可在我们刚才设置的目录下生成带有卸载功能的安装程序了
用API也可以。用别的软件包也可以。如果要用复杂的图形界面,用许多“控制”(按钮,滑块,Edit,树,色彩选择)那么用MFC比较方便,可以节省自己很大的工作量。控制台应用程序设计概念与视窗程序设计概念不同。老观念搁置起来,接收新概念。入门难一点,入门后就如鱼得水了。MFC函数很多,用到哪,可以查到哪,不用的不去管它。东西太多,不要学了再用,而是边用边学,用哪学哪,不用的不学。简单地讲.net包括一个解析应用程序代码的类库以及一个支持程序运行的平台。何谓平台:
比方说exe可执行文件可以在Windows上运行,却不能在Linux上面运行。 *** 作系统本身就是一个运行平台。底层的API等可以看做类库。所有在Windows上运行的程序其实都只是对底层API直接或间接地调用,扩展了 *** 作系统的功能而已。
.net之前的Windows程序在写完后被编译成二进制的exe文件。它们可以直接被 *** 作系统解释并送到CPU里面运行。也就是说Windows就是这些程序运行的平台。
问题1:
不光Windows与Linux是不同的运行平台。Windows的不同版本也是不同的运行平台。因为它们的 *** 作系统内核或多或少不一样。API的类库也存在差异。如果各个版本的Windows内核不能完全兼容,就会导致如下问题:如果某程序编写的时候调用了某个特定版本Windows的某个函数,并且该函数在其它版本的Windows内核中都没有,那么把该程序发布到其它版本的Windows至上就会出现运行时错误。运行到一半发现找不到某个函数……这是一个问题。
另一个显著的问题是:
编程语言何其之多。如果写C语言的人能够调用B语言编写的组件。那么代码的重用性就得到了极大程度上的增强。
.net
.net出现后解决了很多问题。当然包括这两个问题。.net支持很多种语言。但是C#才是为.net量身定做的语言。打个比方,地球上一部分人讲汉语,一部分人讲英语,一部分人讲鸟来语。但是英语是比较公认的官方语言。说不同语言的人如果不懂对方的语言显然不能沟通。如果有个翻译就OK了。
.net本质也只是对API进行了更安全的封装,也只是Windows的一种扩展而已。但是它之所以独立于Windows之上成为一个运行平台,是因为.net编写的程序并没有直接编译成Windows能够理解的二进制文件。而是编译成了.net的中间语言。好比我们重新定义了一种国际语言。它既不是英语也不是汉语,不是现存的任何语言。但是它可以用来翻译现存的所有语言。正因为程序被编译成了中间语言,它们在这个层面上可以自由地交流。所以C#之类的C型语言可以跟VB型的B型语言等互相访问。也正因为它们被编译成了一种 *** 作系统不认识的中间语言,它们才需要有一个解析平台(公共语言运行时,也是.net的一个部分)。.net相当于同时充当了程序与Windows之间的翻译官与字典的功能。
Winform
这个这个……当你学会了一种语言的时候,你可以用它来唱歌,也可以用它来写诗。
当你要唱歌或者要写诗的时候,你可以用任何一种语言。Winform说到底不就是编程
语言的一件艺术品么?
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)