搜档网
当前位置:搜档网 › 不用VS自带的打包工具,不用InstallShield。用C#制作自己的安装程序!

不用VS自带的打包工具,不用InstallShield。用C#制作自己的安装程序!

不用VS自带的打包工具,不用InstallShield。用C#制作自己的安装程序!
不用VS自带的打包工具,不用InstallShield。用C#制作自己的安装程序!

不用VS自带的打包工具,不用InstallShield。

修订2 2016.02.24

用C#编程的朋友们,你们是否想过用代码写一个自己开发出来的软件的安装程序呢?你们是否厌烦了Visual Studio自带的发布功能的枯燥无味呢?你们是否觉得InstallShield的界面过于单调呢?今天,我们就来自己写一个真正用C#编制而成的安装程序!没错,所有的功能都是定制的,自己拷贝程序文件,写入注册表,关联文件类型……随心所欲,你可以让它实现任何功能!(当然,我这里只介绍最关键的安装环节。)你可能会想:这么复杂的功能,一定只有软件公司用专业的工具才能制成吧?其实不然,今天我们就用短短二十余行代码搞定!复制文件、写入注册表、关联文件,一切应有尽有!

在各位读者阅读之前,我需要首先提示:千万不要把事情想得太复杂,我们不是精通Windows系统内部的程序员,我们也不是能代替整个开发团队的工作者,我们更不是在为哪个国际软件公司制作安装程序,不要期望太高,但足够让你有成就感!

具体步骤,请翻至下一页。

以下是实现步骤:

第一步:

当然,同你编的任何一个C#程序一样,你需要新建一个工程(视习惯,可以是Console Application、WinForm或是WPF)。为了方便叙述,就把工程名定为Installer吧。

第二步:

开始安装之前,一定有些软件的介绍啦,许可条款啦之类的,你就按需求添加上去。

第三步:

把程序文件添加到本工程的资源中。如图。

依次点击:工程→Installer属性→资源→添加资源→现有项(我的Visual Studio是英文版的,但是应该不影响大家理解哈)。选择你的程序文件。然后可以重命名,也可以保持它原来的名字,但不论它叫什么名字,都要记住,因为稍后会用到。

添加完的效果如下图。

第四步:

现在,当用户触发某一事件,程序就要开始安装了!

比如当按下“安装”按钮,敲击了回车……总之是让程序开始执行某一操作了,安装即刻开始。

第五步:

现在我们要将程序文件释放到安装目录下(当然,安装在哪里是你自己定的)。

代码如下:

using System.IO;

Directory.CreateDirectory("C:/Program Files/Program/");

FileStream writer = new FileStream("C:/Program Files/Program/Program.exe", FileMode.OpenOrCreate); writer.Write(Properties.Resources.Program, 0, Properties.Resources.Program.Length);

writer.Close();

注意:Properties.Resources.Program中,Program就是刚刚添加的资源名称,同理,可以将其他各个文件也导入到相应的路径。但是,

"C:/Program Files/Program/Program.exe"这个文件名一定要写成原

名,否则会导致程序集无法引用等问题1。

现在开始运行程序。咦?怎么出现异常了呢?不要紧,这是在执行向“Program Files”文件夹释放文件是没有管理员权限而引起的。那以后

就暂时不用Visual Studio的运行按钮了,先去“Debug”目录下右击→

1比如说,你的主程序引用了abc.dll,但是你在释放文件时改名为def.dll,那当然在运行时就会出错。

以管理员身份运行吧!那你就会说了:要是让用户也这样做该多麻烦呀!放心,稍后我会介绍解决方法。

第六步:

软件的程序文件安装完了,但是只不过是拷贝了一份文件,并没有向系统中添加信息,接下来我们就要写入注册表。

在介绍具体做法之前,先讲解一下Windows注册表关于安装软件的部分。

在命令提示符下输入regedit,即弹出注册表编辑器,依次展开HKEY_LOCAL_MACHINE → SOFTWARE → Microsoft → Windows → CurrentVersion → Uninstall。这时我们会看到有许多我们熟悉的软件名。那就对了,这就是在你的计算机上安装过的软件。你可以试着在“Uninstall”中新建键值“Program”,再在Program中新建两个字符串值,一个名字是“DisplayName”,值为“Program”;另一个名字是“UninstallString”,值为“Uninstall.exe”。现在去控制面板看看,是不是“卸载程序”页面中多了一个叫做“Program”的程序?

如果你看到了,就说明你操作得很正确。其实,“Uninstall”中的键值并不重要,重要的是其中的那两个字符串。“DisplayName”指的是显示出来的程序名称,“UninstallString”指的是卸载程序的路径。当你在控制面板点击卸载时,计算机自动运行“UninstallString”所指示的卸载程序。但是,由于我们现在还没有卸载程序,只能先随便填一个名称(Uninstall.exe)2;但是绝对不能不填,否则控制面板中不会显示你的这个程序的。

其实除了“DisplayName”、“UninstallString”外,还有很多常用的名称,例如“Publisher”(发布者)、“DisplayVersion”(版本号)等等,这里不再赘述,有兴趣的读者可以自行查阅资料,也可以仿照其他已有软件自己研究一下。

2在本文中不介绍卸载程序的制作方法,但是相信读者在认真读完本文后,能自己做出一个出色的卸载程序。

既然已经知道了原理,我们现在就要用代码来实现了。

代码如下:

using Microsoft.Win32;

RegistryKey key =

Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall", true); key.CreateSubKey("Program");

key = key.OpenSubKey("Program", true);

key.SetValue("DisplayName", "Program");

key.SetValue("UninstallString", "Uninstall.exe");

运行一下,是不是效果很好?

这里有一点特别需要注意:先观察这个字符串"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",

为什么用“\\”而不用“/”呢?这就是规定!我当时研究时一直抛出异

常,最后才明白竟然是斜杠用错了!

第七步:

到现在,一个像模像样的安装程序已经呈现在我们眼前了,最后还有一点需要润色的地方——处理文件关联。

现在设我们这个程序(在我这里是Program.exe)能够打开的文件类型是.prg。想要达成的操作是:使.prg文件的“文件类型说明3”改为

“Program File”;双击.prg文件时,自动打开Program.exe4。

3在Windows的资源管理器中,“文件类型”一栏显示的就是这里的文字。比如说.txt是“Text Document”。

4按照我下文的方法处理后,只能实现双击这一类型的文件后运行程序;至于打开文件后程序的处理,还需各读者

自己研究。

观察如下代码:

RegistryKey file = Registry.ClassesRoot;

file.CreateSubKey(".prg");

file = file.OpenSubKey(".prg", true);

file.SetValue("", "Program File");

file.CreateSubKey("Shell");

file = file.OpenSubKey("Shell", true);

file.CreateSubKey("Open");

file = file.OpenSubKey("Open", true);

file.CreateSubKey("Command");

file = file.OpenSubKey("Command", true);

file.SetValue("", "C:\\Program Files\\Program\\Program.exe");

各位一定能分析明白我是如何添加文件关联的了吧!

双击任何一个.prg文件,是不是你的程序开始运行了?

第八步:

现在咱们要来处理刚刚遗留下来的因为没有管理员权限而无法访问Program Files的bug5。这个步骤很简单,只要一步一步根据我的提示操作就没问题。

依次点击:工程→Installer属性→安全性。在“安全性”页面,选中“启用ClickOnce安全设置”复选框,这时,在Installer项目的Properties目录下会出现一个名为app.manifest的文件,把它打开,按照下图方式进行修改。

修改之后,保存,这时别着急编译运行,先得把刚刚那个“启用ClickOnce安全设置”的复选框取消,然后再运行,这时就会弹出我们

5本文在修订时笔者发现有时在未获取管理员权限的情况下也能访问注册表,可能是因为系统配置不同的缘故,但是无论在各位读者的电脑上运行情况如何,还是建议大家按照如下步骤赋予我们的安装程序管理员权限。

熟悉的Windows用户账户控制的对话框,大功告成,Program Files文件夹也可以正常写入了!

结语:

我都说过,别把事情想得太复杂,怎么样?是不是很简单?我的教程你还满意吧。其实我在文中所叙述的只是一个安装程序所必须具备的骨架,至于更加完善的内容还需各位自己添加。不管怎么说,我觉得有关安装程序的制作这方面的文章还很少有人涉足,我也是苦于找不到很好的教程才自己研究,然后动笔写下的这篇文章的。那么,我谨以此文章献给执着于软件开发的朋友们,我们因为热爱才在编程道路上坚定不移走下去。记住,我们不要忘记初心,我们不要抛弃梦想,既然选择,我们无怨无悔!

installshield打包完整示例

前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思。这个安装程序虽然比较简陋,在行家眼里可能是小菜一碟,但是也花了笔者一个星期的时间,阅读了很多资料,啃了好几天英文help,集成了很多先驱者的经验,也费了自己不少心血做成的,对每一段代码的用处、每一个用到的函数都进行了详细的说明,因此转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样;如需刊登,请与作者联系。在此要感谢吞硬币的小猪,天下晓明,余满青,海洋C++乐园(此海洋不是彼海洋)等大虾在互联网上的无私奉献,他们的贴子和博客给了我很大启示。 因为本人是做java出身的,因此对这种类C++语言还是第一次接触,有理解不当之处,请朋友们指正。欢迎Email至little_fairycat@https://www.sodocs.net/doc/54787418.html, 正文 需求:公司做了一个软件产品, 1.该软件运行需要JDK环境(不是JRE,因为该软件要向windows注册一个服务,用到了 JavaService,JDK才支持这个功能;不过这里侧重于判断是否安装了某软件是否安装,而不是纠缠于该装JDK还是该装JRE); 2.由于是Server-Client形式的,需要允许用户选择安装组件,比如A机只装Server端,B机 只装Client端; 3.文档不打包在安装程序里,直接存放在光盘文件夹下方便用户查看,同时允许用户指定是否安 装文档到计算机上(为什么这样做,后面说明详细原因);

InstallShield详细制作说明

虽然网上关于InstallShield的制作说明已经很多,但是看的时候还是会有些晕乎乎的,不得不说很复杂。前段时候做了一次,后面需要升级,在重新做的时候发现有些地方自己又忘了,所以有必须将自己看的教程和实际操作的体会结合起来,认真的写个特别详细的制作说明,使步骤尽可能简化清晰,为了自己也为其他同仁。各位可以先下载已做好的安装包,看看是否符合你的需求。 一、在制作安装包前,先整理一下安装文件 先来看“先决条件安装文件”,这里我们用来存放运行该产品需要的基本环境(比如:Net Framework、数据库等)的安装文件。另外还放了图标和许可协议,制作的时候需要,放一起便于管理。 再来看看“XX软件”,可以看看QQ在安装后的开始菜单里,会先有腾讯软件->QQ2013->QQ 这样的目录结构,这样的结构使得一个公司的产品放在一起便于用户查看。所以我也采用这种结构来先整理目录结构,这个结构也是用户安装产品后的目录结构。 上面APP_1和APP_2是独立的应用分开放,外面的数据库配置是公用部分放最外面。当然,“XX产品”里面的目录需要根据你实际情况来决定。不过,在你制作安装包前,一直要试一下各个exe程序能不能正常运行,否则做好后运行不了,找不到原因就麻烦了,毕竟快捷方式只是个链接。 这里说明一下为什么会有这个DataBaseSetting.exe呢,因为我们的产品可能需要新建数据库、需要修改注册表等操作,但是用InstallShield来做这些,对于不熟悉的人来说还是很麻烦的,

或许就不能做,所以还是用C#写了个小程序来做这些工作要简单的多,只是要多点下按钮,但更灵活。 二、新建一个“InstallScript MSI Project”工程 三、在引导条上配置基本属性 Project Assistant是类似于界面操作

Installshield9使用说明

Installshield 9 使用说明 一、向导部分 刚打开文档时的主UI 最近编辑文档 以上为intallshiel后的主UI当前还未打开任何的文档 新建文档 新建文档类型通 常选择第一个就 可以

向导 UI 1 2 3 4 5 6 7 8 9 程序的基本信息,包括公司名称,程序名称,版本号以及公司网址等。以上信息将会在安装过程中的UI中显示。

2.Installation architecture: 组件的建立,类似于office安装过程中的程序模块选择。例如。在office安装过程中要全部安装,还是只安装word,excel等。 3.Application Files 文件的添加:在此处将所有的程序要使用到的文件添加到这里。主要包括以下文件夹 3.1 script-defined folders:脚本定义文件夹:放到这里面的文件,其安装目录由脚本中FeatureSetTarget(MEDIA,"",para2);函数来重新定义。para1在此定义的文件夹名。Para2为目标文件夹名 3.2 application target folder:安装目标文件夹。即实际安装过程中的目标文件夹。一般在安装过程中由用户来选择,当然可以指定默认。 3.3 program files:program file文件夹,如果有特定的文件必须放在此文件夹里。就放这个位置吧。 3.4 windows:同上。这两个文件夹是系统自动搜索的。如果是自己安装的操作系统,

比如将操作系统安装在其它盘符,一样可以搜到 4.Application redistributables 插件选择安装:如果你的程序需要以上的动态库连接,就打上 5Application shortcuts 快捷方式的建立点击New以后,会出现选择文件的对话框。当然是已经在Application Files 中添加过的文件。默认的可执行文件会自动添加。如果不想用删掉即可

InstallShield安装与制作

InstallShield安装与制作 InstallShield安装与制作 一、InstallShield安装 1、点击[InstallShield.12.豪华完全 版].installshield12.Premier.Edition.exe进行安装 2、到安装过程中的组件步骤时选择自定义/定制 3、在语言中选择简体中方(制作了的安装包才能是中文的,否则是英文) 二、InstallShield 破解 1、在安装的最后一步选择激活,点击下一步 2、随便输入一串激活码,如(1111111111……),点击下一步. 3、提示出错,不用管,选择电子邮件激活,下一步 4、出现一串的序列码,拷贝它。 5、打开[InstallShield.12.豪华完全版].keygen.exe;粘上那串序列码,点create^,会生成一串很长的序列码,拷贝它。 6、回到第四步的对话框,粘上序列码,ok. 注:在激活的过程中,把网络断开 (一) 打开工程 点击Create a new Project来创建一个工程。

IS将安装工程根据工程的特点分了几大类:InstallScript ;Windows Installer;Universal installer。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript和Windows Installer的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系统自带的安装服务来驱动安装。在每个大类里面有划分了不同的小类。这里请参考IS帮助中的说明。 注: Project Name: 你的工程名 Location: 这个打包程序存放的路径,一般在安装的过程中自动创建这个目录 (二) 工程助手页面 利用工程助手就可完成应用程序的制作且能满足要求(除了附加数据库等操作)。工程助手的应用从图中的:应用程序信息,从左往右一步步设计就可以了。 1、Application Information:程序信息

InstallShield脚本语言的编写

InstallShield脚本语言的编写 编号:QA001188 建立日期: 1999年6月16日最后修改日期:1999年6月16日 InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加。 一.基本语法规则 1.变量 BOOL 布尔型值为TRUE(1)或FALSE(0) CHAR 字符型一字节长的(8bit)的字符 HWND 窗口句柄用来存放窗口句柄 INT 整型两字节长的整数 LIST 列表型指向InstallShield列表,用ListCreate和ListDestroy LONG 扩展数值型 LPSTR 扩展指针 NUMBER 数值型存放四字节长的数值,范围从-2147483648到+2147483647 POINTER 指针型 SHORT 短数值型 STRING 字符串型十分类似VC中的LPCTSTR 变量如同标准的C语言,在使用前需要事先声名。变量通常在两个位置进行声名,一是主程序外部,这样的变量为全局变量,二是各函数的变量声名区,这样的变量是局部变量。 2.操作符 一般的与C语言相同操作符,在这里不做详解,以下主要介绍比较特殊的操作符, (1) + , - , * , / 以上四个操作符与C语言中意义和用法都相同。 (2) && 与操作,与C语言中用法相同,例:x1 && x2 (3) || 或操作,与C语言中用法相同,例:x1 || x2 (4) ! 非操作,与C语言中用法相同,例:!x1 (5) * 指针操作,类似C语言中的*

(6) & , | , ^ , ~ , << , >> 分别为位与,位或,按位异或,按位取反,左移和右移,其意义和用法都与C语言中基本相同。 (7) . 该操作符用于结构,用来得到结构的子项,与Delphi的 . 用法类似,例如: typedef SETTINGSREC begin BOOL bSwitchOn; STRING szMssg[255]; INT nVal; end; SETTINGSREC settings; program settings.bSwitchOn = FALSE; settings.szMssg = "Off"; settings.nVal = 0; (8) = 既可作为赋值号,同时也做等于符,例如: str1 = "String"; if str1="String" then endif; (9) & 取地址符,与C语言用法类似。 (10) < , > , = , <= , >= , != 分别表示小于,大于,等于,小于等于,大于等于,不等于 (11) + , ^ , % 用于字符串的操作。 (12) -> 结构指针,与C语言中用法类似。 (13) @ 用于得到Resource窗口中定义的字符串,例: szReferenceFile = svDir ^ @PRODUCT_KEY; 3.函数 InstallShield的函数使用前同样需要声名,函数的参数传递方式十分类似C语言,例如

InstallShield-PDF 教程

InstallShield使用 本文使用的InstallShiled的版本是InstallShiled 2008 Premier Edition,只介绍制作Base MSI Preject及InstallScript MSI Preject安装包。 1菜单 大多数菜单与其他软件一样,这里只介绍几个有特点的。 1.1Go 可以通过此菜单到任意一个设计界面中。 1.2Project 1.1.1[Perform Static Scan…]及[Perform Dynamic Scan…] 静态及动态搜索应用程序所需要的系统对象及Dll运行库,这两个功能有详细的向导,这里不再做介绍。 1.1.2[Source Control] 此功能为源代码管理,必须结合Microsoft的Microsoft Visual SourceSafe。 1.3Tools 1.3.1[InstallScript] Standard Dialog Sampler及Skinned Dialog Sampler查看固定的安装步骤界面,以便在脚本中调用。 Cabinet File Viewer查看安装包CAB文件的内容,经测试好像不能查看InstallShield2008制作的CAB的内容。 2安装设计界面 这里介绍的是Installation Designer页面的界面(介绍一些重要的属性)。 2.1Installation Information 2.1.1General Information ?Project Properties Setup Languages:设置安装包的语言种类,一般默认的是简体 中文。

Installshield+中文系列教程

Installshield 12 中文系列教程之 Installscript 项目(一) ××××××××××××××××××××××××××××××××××××××× ×××××××× 声明:本文为《打包技术网》原创,请保留此声明并注明出处,仅供网友学习使用,勿用于 商业用途。 作者:棒槌_007 联系方式:QQ 113984419 MAIL:bangchui_007. 说明:本人E文实在一般,文中有翻译不准确的地方,请各位见谅。 ××××××××××××××××××××××××××××××××××××××× ×××××××× 这个部分通过带领你使用InstallShield新建,编译,运行来增强一个使用安装脚本的安装 程序。 这个教程划分了一些列的步骤。在第一步后“第一步:建立,编译,测试项目”其他的步骤能够按照任意的顺序单独的运行,所以你可以集中注意力在这个部分的相关的容上。 在这个教程中,你将要学习到如何完成一个安装程序中要执行的多个任务,包括: ?安装文件 ?设置快捷方式和注册表数据 ?条件安装数据 ?更改安装过程中的用户界面 ?编译发布镜像文件 ?测试安装 这些容在的相关贯穿整个帮助支持库。 第一步:建立,编译和测试项目 这个步骤示如何建立一个脚本安装项目,编译发布文件,测试安装程序。完成这个步骤后, 你将认识到如何去: ?使用项目助手建立一个新项目 ?制定安装项目的整体属性

?定义安装类型、功能部件、组成部分和文件 ?编译一个发布文件的副本 ?从InstallShield用户界面运行你的安装程序 你在本教程中将要创建、配置的安装程序叫做 Tutorial APP 。这个程序的源文件在安装目录下的 Samples\IsDevTutorial 子目录下面。

InstallShield使用详解

目录 前言 (2) 第一章集成开发环境 (3) 第二章 INSTALLSHIELD基本操作 (4) 2.1.创建工程 (4) 2.2.通过 PROJECT ASSISTANT(工程助手)来设计工程。 (8) 2.3.安装包发布 (19) 第三章 INTALLSHIELD脚本语言 (23) 3.1脚本语言介绍 (23) 3.2实例一:注册表的处理 (25) 3.3实例二:安装前执行,运行其他的软件安装。 (28) 第四章其他的安装包制作工具 (30) 4.1 INSTALLAWARE (30) 4.2 WISE (31) 4.3 ADVANCED INSTALLER (33) 4.4工具比较 (33)

前言 InstallShield是基于Windows平台的为软件发行方提供领先的基于windows的安装程序解决方案,能够制作强大可靠的Windows Installer(MSI)、InstallScript以及跨平台的安装程序,是安装工具领域事实上的标准,已经成为安全安装软件的标准解决方案,。在下面的内容当中,将以10HMITOOL项目实例讲解InstallShield的使用方法,使用的版本为InstallShield2008。

第一章集成开发环境 InstallShield除了本身的开发环境外,还为vs2005提供了辅助功能,开发人员可以直接在vs2005环境中创建InstallShield工程,具体操作如下: 1.选择开始菜单->所有程序->Macrovision->InstallShield 2008 for Visual Studio 2005 图1-1 运行InstallShield 2008 for Visual Studio 2005 首次运行会出现如下的向导界面:在这里介绍了所有工程类型,用户可以根据自己的需要选择工程类型。 图1-2 首次进入

Installshield入门指南

Installshield入门指南 1 说明(适用范围) 阅读对象:IS的初用者;本指南的校对、补充、修改者。 适用版本:IS10~IS11,如果您使用的不是这个版本段的版本,那么还是不要再往下看了。 目的:帮助初用者建立一个简单的安装包,能在建立这个安装包的过程中了解IS的基本情况。 强调:本指南不会对IS中的每一个菜单进行介绍,只对用到的做一个初步讲解2 IS介绍 2.1IS介绍 这个东东据说是现在使用最广泛的安装包制作工具。它是从共享软件出身,一直发展到一个商业软件。现在又被收购了。我是从6.22版本开始接触它的。从6.0到9.0版本,它的每一个版本大概都分为三个系列,就如同操作系统WINDOWS XP一样,每一个版本都分为Professional,Express,Developer。简单的可以这样解释(详细区别大家可以到网上搜,应该很多): Express功能最少,使用也最简单,据说是限制使用脚本功能等。适合制作常规的安装包,本人没有使用过。 Professional开放的功能较多,包括脚本功能。但还是有一些限制,我了解的就是无法编辑界面(罕见使用),缺少一些外部库等等。 Developer不用说是最全的了。适合于能折腾的人。 从10版本开始,IS最大的变化就是界面变了。变的花哨了许多,功能更多了。让我人最感兴趣的就是增加了对SQL的支持,最终加入了对XML的支持。而且,从10开始,名字也有些改变:Premier Edition对应原来的Developer,其他的还是和原来一样。 以下的介绍全部是针对Installshield Premier Edition11的,请大家务必注意。 2.2IS各工程介绍 IS将安装工程根据工程的特点分了几大类:InstallScript ;Windows Installer;Universal installer。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript 和Windows Installer的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系

InstallShield setup文件-静默安装介绍

Open topic with navigation Setup.exe and Update.exe Command-Line Parameters https://www.sodocs.net/doc/54787418.html,/installshield20helplib/Content/helplibrary/IHelpSetu p_EXECmdLine.htm#ref-command-linetools_942613717_1039936 InstallShield 2013 Setup.exe can accept a number of command-line parameters. Update.exe (available only for Basic MSI and InstallScript MSI projects) accepts nearly all of the same command-line parameters. Using these parameters, end users can specify such data as the language that the installation should run in and whether to launch Setup.exe silently. For Basic MSI and InstallScript MSI, end users can also pass parameters through Setup.exe to the included .msi file. Note: Command-line options that require a parameter must be specified with no space between the option and its parameter. For example, Setup.exe /v"ALLUSERS=2" is valid, while Setup.exe /v "ALLUSERS=2"is not. Quotation marks around an option’s parameter are required only if the parameter contains spaces. If a path within a parameter contains spaces, you may need to use quotation marks within quotation marks, as in the following example: Setup.exe /v"INSTALLDIR=\"c:\My Files\"" Project: Some of the command-line options apply to only certain project types. Project-specific information is listed for each option. Built-In Command-Line Parameters This section describes valid command-line parameters for Setup.exe. The parameters are organized into the following categories: ? Silent Installations ? Special Installation Modes ? Passing Data to the Installation ? Download and Cache Locations (Basic MSI and InstallScript MSI Projects) ? Debugging ? SMS Data

InstallShield_2010_打包实例

第一部分:基本设置 (1) 新建Installscript MSI Project (1) 引导动作条 (2) 1. Application Information (2) 2. Installation Requirement (3) 3. Installation Architecture (3) 4. Application Files (5) 5. Application Shortcuts (7) 6. Application Registry (9) 7. Installation Location (10) 8. Build Installation (11) 第二部分:XML文件修改 (11) 第三部分:自定义对话框 (16) 第四部分:安装windows服务 (18) 一、脚本方式 (18) 二、视图配置方式 (21) 添加Install Service组件 (21) 添加Control Service组件 (24) 第五部分:脚本编程 (26) Setup.rul文件头部 (27) OnFirstUIBefore (28) OnFirstUIAfter (31) SetTomportInfo (34) 完整脚本代码 (36) 第六部分:参考文章 (43)

注:我使用的是Installshield 2010 Premier Edition,安装后自行汉化,所以有部分截图有中文; 2010 SP1的官方下载地址: https://www.sodocs.net/doc/54787418.html,/product/is/2010/domestic/premier/installS hield2010.exe 第一部分:基本设置 新建Installscript MSI Project 打开Installshield 2010 Premier Edition,新建一个Installscript MSI Project,这种被称之为半脚本程序,因为兼具Basic Project基本类型和Installscript Project全脚本类型两者的优点。 选择类型为Windows Installer | InstallScript MSI Projcet,输入工程名,指定工程所在的文件夹。 界面会切换到Project Assistant,我们先从这里开始把工程的基本组件和基本文件建立好。

installshield学习笔记

安装前 设置界面公司标识 在OnBegin函数中,添加如下脚本: SetTitle(IFX_PRODUCT_NAME + "-Infomedia", 0, BACKGROUNDCAPTION); 安装中 安装 RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); if(RegDBKeyExist("SOFTWARE\\Microsoft\\.NETFramework\\policy\\")<0)then if(AskYesNo("尚未安装!\n是否安装",YES))then if(LaunchAppAndWait(SUPPORTDIR^""," /norestart",WAIT)<0)then SprintfBox(MB_OK,".NET安装","安装框架发生意外!"); else InstallNet=TRUE; endif; else InstallNet=FALSE; endif; else endif; 注:InstallNet在开始定义BOOL类型 修改OnFirstUIAfter中的脚本 以判断是否重启。 vbs控制IIS 直接使用IIS自带的脚本来做的.基本上IIS的所有操作都可以用这个脚本完成.目录在C:\inetpub\AdminScripts 管理安装服务器角色

参数名称:

修改IIS中ISAPI和CGI限制 %windir%\\system32\\inetsrv\\ set config /section:isapiCgiRestriction /[path='C:\Windows\\Framework\'].allowed:True 控制文本框 自定义界面,如果控制文本框

1607:无法安装 InstallShield Scripting

重新安装InstallScript 引擎 要从InstallShield Developer 重新安装InstallScript 引擎,请按照下列步骤操作: 1.单击“开始”,单击“程序”,指向“附件”,然后单击“Windows 资源管理器”。 2.打开下面的文件夹:C:\Program Files\InstallShield\Developer\Redist\Language Independent\i386。 3.双击“Isscrpt.msi”。 4.按照屏幕上的指示操作。 从虚拟驱动器运行安装程序 如果您从使用SUBST 命令创建的虚拟驱动器运行安装程序,则可以删除该虚拟驱动器并从物理硬盘运行安装程序。要删除虚拟驱动器,请单击“开始”,单击“运行”,键入subst drive_letter:/d,然后单击“确定”。 注册Idriver 和Msiexec 要注册Idriver 和Msiexec,请按照下列步骤操作: 1.单击“开始”,单击“运行”,键入C:\Program Files\Common Files\InstallShield\Developer\7\Intel 32\IDriver.exe /REGSERVER,然后单击“确定”。 2.单击“开始”,单击“运行”,键入C:\Windows\System32\msiexec.exe /REGSERVER,然后单击“确定”。 更改权限 使用管理员帐户登录到Windows XP 计算机,验证您是否对C:\Windows\Installer 文件夹拥有正确的权限。按照下列步骤操作: 1.单击“开始”,单击“程序”,指向“附件”,然后单击“Windows 资源管理器”。 2.单击“工具”菜单上的“文件夹选项”。 3.单击“查看”选项卡。 4.单击“显示所有文件和文件夹”,然后单击“确定”。 5.定位到文件夹C:\Windows\Installer。 6.右键单击Installer 文件夹,然后单击“属性”。 7.单击“安全”选项卡。 8.单击“System”,然后验证是否选中了“完全控制”复选框。 9.单击“Administrators”,然后验证是否选中了“完全控制”复选框。 10.单击您的用户名,然后验证是否选中了“完全控制”复选框。

Installshield终极使用教程

Installshield使用 1 说明(适用范围) 1.1IS各工程介绍 IS将安装工程根据工程的特点分了几大类:InstallScript ;Windows Installer;Universal installer。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript 和Windows Installer的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系统自带的安装服务来驱动安装。在每个大类里面有划分了不同的小类。这里请参考IS帮助中的说明。 2 COMMON篇之InstallScript Porject 2.1使用向导做一个简单的安装包 2.1.1了解你要安装的程序 首先你要清楚,你的程序所需要的运行环境要求。 这个安装包例子中,我们要打包这样一个系统:主程序是LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini,许可协议.txt;它运行时需要读取当前目录下的config.ini,由于这个程序是用VC开发的,所以还需要运行的机器上有vc的运行库。具备了这个环境,LearnQClient.exe程序才能正常运行起来。 这就要求我们做好的安装程序安装时要将LearnQClient.exe,rtcdll.dll,ImageOle.dll, dxmrtp.dll,dsoframer.ocx,config.ini拷贝到指定的安装目录,也可将 ImageOle.dll,dsoframer.ocx拷贝到当前系统的系统目录(windows9x中系统目录是windows/system;windows 2000/xp的系统目录是system32)。同时要实现安装的时候将VC6的运行库安装到目标机器上;其中帮助文件是可选择安装的。下面我们来试着做这个安装包。 2.1.2建立一个InstallScript工程 启动IS,在主窗体中选择“Create a new Project”

VS2012 InstallShield Limited Edition使用教程

1.安装和部署 2.下载InstallShield 3.注册后方可进行下载(邮箱一定要填写正确的,以便可以正常接收到激活码)

4.登录注册时写的邮箱,找到激活码 5.安装,选择第一个并输入邮箱中的注册码即可

6.安装成功后即可创建打包程序 7.创建成功的项目展示

8.默认展示欢迎界面,也可以双击“Project Assistant”进入到欢迎界面 9.单击第一个选项卡“Application Information”,按照上面的填写。

10.单击“General Information”进入进行更改语言为中文简体 常见问题: 问:生成出错,提示"The English (United States) translation for string identifier IDS_SHORTCUT_DISPLAY_NAME1 includes characters that are not available on code page 1252." 答:InstallShield安装语言默认为English (United States),当安装路径或文件名包含中文时生成项目会出错并显示上述错误信息,将安装语言设置为简体中文即可解决。在"Application Information"步骤界面左侧找到"General Information"并打开,将"Setup Language"设置为"Chinese (Simplified):中文

(简体)"即可。 11. 第二选项卡“Installation Requirements”,选择部署的目标环境和必须组件。 12. 第三选项卡“Installation Architecture”,这里不用设置。 13. 第四选项卡“Application Files”,添加生成的类库和exe可执行程序。--补充说明,添加的文件是bin\release文件夹下的内容。注意在Release模式下编译才会输出到这里;如果添加bin\debug文件夹下的内容也可以,只是里面包

InstallShield Limited Edition for Visual Studio图文教程

InstallShield Limited Edition for Visual Studio图文教程(教你如何打包.NET程序) 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“InstallShield Limited Edition for Visual Studio”,注意这个版本是免费的,只需要邮件注册下,就会有要注册码。虽然不知道微软这是何用意,但是既然他叫我们用,那就去用吧。(其实,早在VS2010中,微软就把InstallShield Limited Edition for Visual Studio放在里面了,只是那个时候自家产品还在)。 如何下载注册: https://www.sodocs.net/doc/54787418.html,/fwlink/?LinkID=239620&lang=1033&ver=ult 用你的邮箱注册,会免费发注册码的,不需要破解 具体步骤: 1、新建了一个基本的三层项目,用来测试打包

2、根据实际情况,填写程序基本信息 3、这一步非常重要,看上图: 1)设置为简体中文,否则安装路径有中文的话就会出问题 2)设置默认安装路径 3)修改默认字体 4)每次升级,重新打包,只需要点击这一行右侧的“…”按钮,就会重新生成Code,安装时就会自动覆盖老版本

4、选择我要的.NET Framework 4.0 5、这里什么也不做

6、添加要打包的文件、程序 7、右键——属性(Properties)

8、非常重要: 1)如果你的是.NET项目程序DLL、EXE,那就按照默认的设置,不要去改,否则出错 2)如果你的是OCX或者ActiveX等需要注册的DLL,那么选择 “Self-registration”

InstallShield 使用手册(SP补丁)

InstallShield 使用手册 1 总体介绍 (1) 2安装程序制作过程(MSI) (1) 2.1 New Project (1) 2.2 Installation Information (2) 2.2.1 General Information (2) 2.2.2 Update Service (6) 2.2.3 Trialware * (7) 2.3 Organization (7) 2.3.1 Setup Design (7) 2.3.2 Features (11) 2.3.3 Components (11) 2.4 Application Data * (11) 2.4.1 Files and Folders * (11) 2.4.2 Redistributables * (11) 2.4.3 Mobile Devices * (11) 2.5 System Configuration (12) 2.5.1 Shortcuts (12) 2.5.2 Registry * (12) 2.5.3 ODBC Resources * (12) 2.5.4 INI file Changes * (12) 2.5.5 Environment Variables * (12) 2.5.6 XML File Changes * (12) 2.6 Server Configuration * (12) 2.6.1 Internet Information Services * (12) 2.6.2 Component Services * (13) 2.6.3 SQL Scripts * (13) 2.7 Behavior and logic (13) 2.7.1 InstallScript (13) 2.7.2 Custom Actions (13) 2.7.3 Sequences (14) 2.7.4 Support Files * (15) 2.7.5 System Search * (15) 2.7.6 Property Manager * (15) 2.8 User Interface * (15) 2.8.1 Dialogs * (15) 2.9 Media * (15) 2.9.1 Path Variables * (15) 2.9.2 Upgrades * (15) 2.9.3 Releases * (15) 2.9.4 Patch Design * (15)

Installshield2020制作安装包详解

Installshield2020制作安装包详解 1. 打开Installshield 2018 Premier Edition,新建一个Installscript Project,它是一个全脚本类型程序,确实是用脚本来驱动安装界面。 选择类型为InstallerScript | InstallScript Projcet,输入工程名,指定工程所在的文件夹。 2.界面会切换到Project Assistant,从那个地点开始把工程的差不多组件和差不多文件建立好,只是一样在Installation Designer里进行设置。 3.在Project Assistant界面的底部,会有一个引导动作条,在建立该工程的差不多结构和文件时,能够在此界面进行操作。

4.点击界面上的Installation Designer,进入安装设计界面 1.Installation Information文件夹要紧是设置该安装包的差不多信息,用户只要设置General Information里的信息,其它两个不用设置。要紧是设置此安装包项目的名称,运行的操作系统和一些差不多信息。 https://www.sodocs.net/doc/54787418.html,anization文件夹要紧是进行安装设置,包括安装中要用到的文件,安装文件的执行顺序以及安装类型的设置(自定义安装和完全安装)。Setup Design要紧是用来添加安装过程中

所需的文件和快捷方式的设置,快捷方式设置包括开始菜单中的快捷方式和桌面快捷方式的设置。还能够把文件的安装和脚本中函数的执行关联起来。Features要紧是查看各装置的配置信息,Components要紧是查看各组件的配置信息,这两个差不多上方便用户查看一些设置的差不多信息。Setup Types用来设置用户在自定义安装和完全安装时要安装的组件。 3.Application Data 文件夹要紧是提供用户查看运算机中的应用程序和文件,方便用户来选择其中的文件来制作安装包。一样不需要用户操作。 4.System Configuration 文件夹要紧是查看系统的配置信息,包括安装包快捷方式的设置,当前运算机系统注册表的信息。一样也不需要用户操作。 5.Server Configuration文件夹要紧是一些服务的配置信息。一样也不需要用户操作。 6.Behavior and Logic 文件夹要紧是用来编写安装包程序的脚本,在InstallScript的Files文件夹下包括脚本文件,在Functions文件夹下显示脚本中所有的函数。在Support Files/Billboards 下要紧是支持该安装包的一些文件,例如用户协议文件之类。

InstallShield教程

使用 本文使用的InstallShiled的版本是InstallShiled 2008 Premier Edition,只介绍制作Base MSI Preject及InstallScript MSI Preject安装包。 1菜单 大多数菜单与其他软件一样,这里只介绍几个有特点的。 1.1Go 可以通过此菜单到任意一个设计界面中。 1.2Project 1.1.1[Perform Static Scan…]及[Perform Dynamic Scan…] 静态及动态搜索应用程序所需要的系统对象及Dll运行库,这两个功能有详细的向导,这里不再做介绍。 1.1.2[Source Control] 此功能为源代码管理,必须结合Microsoft的Microsoft Visual SourceSafe。 1.3Tools 1.3.1[InstallScript] Standard Dialog Sampler及Skinned Dialog Sampler查看固定的安装步骤界面,以便在脚本中调用。 Cabinet File Viewer查看安装包CAB文件的内容,经测试好像不能查看InstallShield2008制作的CAB的内容。 2安装设计界面 这里介绍的是Installation Designer页面的界面(介绍一些重要的属性)。 2.1Installation Information 2.1.1General Information ?Project Properties Setup Languages:设置安装包的语言种类,一般默认的是简体 中文。

?Add or Remove Programs Display Icon:在系统中的添加或删除程序的列表中显示的图标; Display Icon Index:图标文件的图标索引; Disable Change Button:隐藏添加或删除程序的列表中的更改按 钮; Disable Remove Button:隐藏添加或删除程序的列表中的删除 按钮; ?Product Properties Name:产品名称,显示在整个安装界面的产品名称; INSTALLDIR:安装的默认路径; ?String Tables 每种安装语言都有一个节点,安装中使用的字符串。 2.2Organization 2.2.1几个基本概念 ?Feature 特征,每个Feature可包含子Feature及若干个Component,每 个Feature都会出现在Feature选择界面中,一旦Feature被选 择安装其包含的Component就会被安装到系统中去; ?Component 组件,每个Component可设置需要安装的文件、写入的注册表 信息、创建的快捷方式等等; ?Setup Type 安装类型,一般默认有Minimal(压缩)、Typical(典型)、Custom(自 定义),每种安装类型包含若干个Feature。 2.2.2Setup Design 此界面可以设置Features、Components(组件)及Files(安装文件)等等。 [Setup Design]节点的右键菜单,[New Feature]菜单新建一个Feature,右键点击Feature节点,[New Feature]菜单新建一个子Feature; [New Component]新建一个Component;[Associate Components]菜单可关联Component。

相关主题