摘要: 关于Windows InstallerWindows Installer是微软Windows操作系统自带的一个软件安装和配置服务,其实现了软件安装的业务逻辑:如何安装软件?如何修改注册表键值?如何创建快捷方式?如何操作网站目录或注册服务?等等。Windows Installer技术由两部分组成:客户端安装程序服务(Msiexec.exe)和Microsoft软件安装包文件(MSI)。关于MSIWindows Installer是从一个数据库中来获取软件安装的相关信息。MSI文件就是一个Windows Installer的数据库,它包含了安装一种产品所需信息、安装(或卸载)程序所需的指令和数据; 阅读全文
posted @ 2013-03-27 16:28 竹林逸轩 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 在前一篇随笔Wix学习整理(1)——快速入门HelloWorld中,我们制作的安装包安装界面太简单,没有与用户进行交互的过程。下面我们修改Wix源文件来给安装程序添加UI。1 Wix的预定义UI简介Wix toolset提供的WixUIExtension.dll包(在目录C:\Program Files\WiX Toolset v3.6\bin下)中提供了五种UI对话框集合,分别是WixUI_Advanced、WixUI_FeatureTree、WixUI_InstallDir、WixUI_Minimal和WixUI_Mondo。下面分别对这五种预定义UI对话框集合进行简单的说明。WixUI_ 阅读全文
posted @ 2013-03-27 16:27 竹林逸轩 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 1 Wix简介Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Installer安装包数据库的元素。关于Wix的详细介绍,查看Wix Tutorial。通过http://wix.codeplex.com/,我们下载最新的Wix toolset,并进行安装。2 1+1=2动手实践是感受最深的方式。下面我们就通过制作一个简单的HelloWorld安装包来感受一下Wix。2.1 HelloWorld程序我们编写一个很简单的C# 的HelloWorld程序。HelloWorld.cs编译该程序,生成可运行程序HelloWorld.exe。 阅读全文
posted @ 2013-03-27 16:26 竹林逸轩 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 直到Windows 8 之前,微软都没有像苹果的一样提供一个AppStore,所以在这个平台上开发和使用软件都是有一定门槛的:对于普通用户而言,专门跑去电子市场买一套办公或者娱乐软件的光盘并不是所有人都喜欢的事情,而即使是在软件发展环境不太健康的中国市场,到各大软件网站下载到无毒的软件也不是一件容易的事情;对于开发者而言更是如此,不仅要考虑完成软件开发所预期的各种功能,还要处理诸如打包、防破解、注册流程等等一系列的附加工作,这些事情对于所有运行于Windows平台上的软件都会遇到,它们的解决方案也大同小异,但Windows并没有帮助开发者们处理这些问题。 我们今天要讨论的一个主题——“升级”. 阅读全文
posted @ 2013-03-25 22:51 竹林逸轩 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 软件在安装时,到底做了些什么? 大家每天都在用电脑,可能也经常在自己的电脑上安装软件。就算自己没安装过,至少也看到人家安装过软件。在这里,我不是想教你怎么安装软件,而是想向你展示,软件在安装的过程中,到底都做了些什么动作?为什么有些软件要安装,直接拷贝过去却不能用?为什么一些软件安装或卸载之后要重启。下面要讨论的就是这些问题。首先,我们探讨一下软件安装的共通部分,说共通,就是在不同版本的操作系统上,如WINDOWS98,WIN2K和WINXP等上它们都有共同点的地方。这个文章也试图不针对具体的某个操作系统,而对共同的规律来探讨,不过我自己用的是WINDOWS98,所以有时一些例子可能会用WIN 阅读全文
posted @ 2013-03-25 22:08 竹林逸轩 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.itbobo.com/c-to-call-an-external-program-of-the-process-class.html 阅读全文
posted @ 2012-12-04 12:56 竹林逸轩 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 安装包的封装,意味着安装要做到最大程度的自动化,方便、快捷的部署我们辛苦开发出来的程序,结合实际,写下软件封装过程中需要修改XML配置文件的功能需求。本例采用InstallScript MSI Project工程。1.导入我们的XML文件Installation Designer——System Configuration——XML File Changes下在“XML Files”上面右击选择“Import”选项,弹出导入XML文件向导框点击“下一步”选择要修改的XML文件后,在下图选择我们要修改的节点导入即可;2.导入XML文件完成后,我们需要为Installshield提供相应的参数配置 阅读全文
posted @ 2012-11-29 10:19 竹林逸轩 阅读(1526) 评论(6) 推荐(0) 编辑
摘要: FTP协议1. 文件传输文件传输服务是网络互联环境所必需的一种服务,当前网络中文件传输最主要的传输方式是使用FTP协议。FTP,全称File Transfer Protocol,中文名为文件传输协议,它可以在网络中传输电子文档、图片、声音、影视、程序及程序等多种类型的文件。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是用户使用FTP下载(download)或获取(get)操作从FTP服务器上下载文件。2. FTP工作原理一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的 阅读全文
posted @ 2012-11-18 17:28 竹林逸轩 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 如何获取指定目录包含的文件和子目录 1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找; 3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找; 如何获取指定文件的基本信息; FileInfo.Exists:获取指定文件.. 阅读全文
posted @ 2012-10-10 15:30 竹林逸轩 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 你可能在批量处理一个事务的时候,想要批量插入一系列的数据,但是这些数据当添加完一次之后,重新添加的时候,你不想要重新添加,只是想将原有的数据进行更新,例如:我想要通过Excel将一系列的图书导入到数据库中,而这些图书在你下一次编辑之后,重新导入,只是对原有的数据进行修改。以上是一个业务的场景。在MSSQL中,你可以使用诸如:?IF NOT EXISTS(SELECT * FROM Book WHERE ….) THEN INSERT INTO ... ELSE UPDATE SET ...这样的SQL语法表示。而在SQLite中,不支持这样的语法。而对应的,在Sqlite中可以使用 Repla 阅读全文
posted @ 2012-10-09 17:17 竹林逸轩 阅读(209) 评论(0) 推荐(0) 编辑