问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# Winform 安装怎么包含数据库?

发布网友 发布时间:2022-04-08 07:27

我来回答

3个回答

热心网友 时间:2022-04-08 08:56

C#的c/s的winform,数据库为sql2k,
应用程序包括如下文件:
1.exe,1.dll,1.jpg,1.xml,donetsetup.exe以及数据库文件1.mdf,1.ldf(或数据库安装文件1.sql)。
打包要求:
(1)自动检测是否安装donet环境,如没安装,则提示自动安装。
(2)安装时自动安装数据库(附加mdf或运行1.sql)。
(3)在安装界面上能自定义一些安装图片或提示。

安装项目:
六个子项:文件系统、注册表、文件类型、用户界面、自定义操作、启动条件。
其中我们在打包过程中经常要用到的有文件系统、注册表、用户界面和自定义操作。
文件系统:向应用程序文件夹、用户的程序菜单、用户桌面下输出项目文件(四种类型:文件夹、项目输出、文件和程序集),还可以创建快捷方式(一般是放在桌面或程序菜单中)文件系统编辑器表示目标计算机上的文件系统,使用该工具可以指定应用程序文件安装的位置。在大多数情况下,希望将应用程序文件放在 Application Folder 中或在 Application Folder 下创建的子文件夹中。安装在目标计算机上以后,来自 Application Folder 的文件将位于 Program Files\Manufacturer\ProctName文件夹中,其中 Manufacturer 是安装 Visual Studio 时使用的公司名,而 ProctName 是用于部署项目的名称。可以在安装项目的属性窗口中重写这两个设置。
注册表:可以向注册表中插入键,在安装应用程序的同时创建注册表项。
用户界面:系统自动提供一组在安装期间显示的默认对话框。根据正在构建的项目的类型,所提供的这组对话框有所不同。使用用户界面编辑器,可以将对话框重新排序或删除对话框。在编辑器中显示的对话框树包含两部分:安装与管理员安装。安装部分包括终端用户运行安装程序时显示的对话框,而管理员安装部分包含系统管理员将安装程序上传到某个网络位置时显示的对话框。如果想构建一个没有用户界面的安装,只需在对话框树上删除安装部分中的所有对话框。或者,可以从一组可用的模板将对话框添加到安装项目中。
启动条件:使用启动条件编辑器来定义成功运行安装所必须满足的条件。例如,可以检查特定版本的操作系统。如果用户尝试在一个不满足条件的系统上安装,安装将中止。还可以配置启动条件来搜索目标计算机上的某个特定文件、注册表项或组件。在开始安装时,Windows Installer 执行搜索和条件评估,并按启动条件编辑器中所示的顺序执行。
自定义操作:自定义操作提供了一种在安装结束时执行任务的机制。例如,您可能希望在安装应用程序之前先配置好数据库,此时您可以用自定义操作来完成数据库的创建。自定义操作构建为单独的 .dll 或 .exe 文件,然后使用自定义操作编辑器添加到项目中,其中这些操作与不同的安装阶段有关。自定义操作编辑器包括几个单独的文件夹,用于放置执行 Install、Commit、Rollback 或 Uninstall 任务的二进制文件。
InstallerClass属性:如果添加的自定义操作是继承自Installer类(注意放在哪个文件夹下就要重载哪个相应的方法),该属性设为True,否则该属性设为False(注意:为False时要指定.dll文件的入口——EntryPoint属性)。
卸载:可以在安装应用程序中提供一个卸载的快捷方式,借助于系统提供的卸载程序msiexec.exe(在c:\windows\system32目录下),并把安装程序项目的ProctCode属性值赋给快捷方式的Arguments属性(注意:在属性值前加/x)
安装程序类:System.Configuration.Install命名空间下
Installer类有四个可以重载的方法,分别是Install,Commit,Rollback,Uninstall。
分别对应于自定义操作中的四个文件夹:安装、提交、回滚、卸载。
数据库安装:
1、 附加数据库
2、 执行创建数据库的Sql语句
3、 完全备份的数据库文件还原
可以将能生成数据库的的文件(分离的数据库文件、Sql脚本文件或完全备份文件)部署到应用程序文件夹下,然后在重载的Install方法里加入生成数据库代码(注意:生成数据库的代码应该在调用基类的Install方法后)。
数据库的卸载:首先删除数据库,再调用基类的Uninstall方法删除应用程序文件夹里的文件(顺序不能乱)。
几个特殊点:
1、 文件系统中的AlawaysCreate属性:本属性可以指定为False,然后Condition属性为空时相当于AlawaysCreate属性为True(Transitive属性必须为True才计算Condition属性的值)。Condition 属性可用于向安装程序添加条件逻辑,例如,仅为特定的操作系统版本安装某个文件。它还可以与文件搜索、注册表搜索或组件搜索一起使用,以在找不到指定项时使安装过程终止。可以是 Windows Installer 条件或属性,Property 属性中包含的值,文件、注册表或组件搜索中的 Name 属性,也可以是使用逻辑运算符的上述语句的组合。
2、 创建快捷方式(在程序中创建,可以有作为附加任务,根据用户的选择情况,有选择的创建):
添加引用:COM 选项卡并选择 Windows Script Host Object Model
创建对象:创建一个 WshShell 的实例对象,接着通过该对象的 CreateShortcut 方法来创建 IWshShortcut 接口的实例对象,传递给 CreateShortcut 方法的参数是将要创建的快捷方式的完整路径(包括该快捷方式的名字)。
设置属性:TargetPath、WorkingDirectory、WindowStyle、Description、IconLocation
生成快捷方式:调用 IWshShortcut.Save 方法生成快捷方式文件。

热心网友 时间:2022-04-08 10:14

对于用户来讲,只要能完成需要实现的功能就行了,汇编不也可以吗,干吗要用delphi?
大家来帮我找个理由吧!

热心网友 时间:2022-04-08 11:49

建议去百度搜- .- 图文并茂

我虽然会装 但是写起来好麻烦...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
QQ视频过期了怎么恢复正常呢? 有没有酒友买了曜隐今年那款牛年纪念版酱酒啊,想问一下这个纪念版的包装... 买过曜隐酱酒的朋友觉得他们的包装怎么样呀,看起来高端显品位吗?_百 ... 最近收到客户送的一瓶曜隐酱酒,觉得这个酒的瓶盖很有特色哇,大家知道... 我的用Psiloc irRemote不知道这么用 TOSHIBA东芝55U3800C PRO液晶电视推荐 电视设置了每天12点定时关机,有一天11点就提前手动关电视了,定时设置需 ... 变频器维修,维修变频器电路板 建行帐号指的是什么 癌症临床表现 癌症的症状有哪些 日记自豪的“作品”200多字 如图所示:红米手机下载企鹅fm怎么无法下载啊? 如何用牙膏盒做出简易又实用的笔盒? 企鹅fm里面的东西可以下载离线么 怎样骑带车后拖的电动车怎样骑带车盒子的电动车? 骑共享单车行李箱怎么放方便 骑电动车带孩子书包放在哪最安全? 谁有QQ盗号软件,免费的。 最新qq盗号木马软件下载地址 qq盗号用什么软件下载 大家千万别用罗技鼠标,太烂了,而且驱动是流氓软件。 罗技鼠标驱动问题 为什麼我的鼠标移动速度那麼慢? 罗技G400驱动下载 我上了很多遍的官网 而且都上不去 也就根本谈不上下载驱动了 罗技G500向右下慢滑不顺畅,连换了好几个都是这种情况,下载了驱动也没用。 罗技c270安装驱动的时候特别慢,6kb的走,我该怎么办? 罗技鼠标宏驱动 好久卡在这里了 逻辑鼠驱动下载为什么那么慢 罗技鼠标驱动下载不了怎么办 2022罗技鼠标驱动Win11怎么下载不了 三项文化教育怎样写二年级? 怎么把自己的手机号发送短信不是显示手机号 手机掉了,如何用指定的手机号码发送短信?(详见补充) 中国传统文化春节作文100字 能指定一个号码发短信给另一个手机号码吗?要怎么弄 手机发短信能改变自己的号码吗 关于成语的传承中华文化作文1100字左右 iphone怎么查看停留过的位置 二年级作文争做文明小学生100字 文化大集做什么二年级小学生日记一百字 手机号码自己发短信 文明礼仪作文100字 以手机短信的形式发送到您指定的手机号什么意思? 我们祖国环境的作文二年级100字 二年级作文100字祖国是我们的妈妈,我们怎样才能把他打扮得更加美丽呢... 以铁人精神为题写一篇作文600字左右 别太复杂 初二的!!快 100分行了吧??!急用啊 求一篇中国四大发明的历史小论文100字左右。 奥运会游泳比赛作文 从长沙火车站做火车到武汉要多久? 20日8点到武昌火车站K1804次列车