`
灵雨飘零
  • 浏览: 35102 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
文章分类
社区版块
存档分类
最新评论

vs2008安装部署工程制作教程

 
阅读更多
1. 新建一个Class Library, 例如Name CustomAction. 这个就是一个自定义安装行为的类。

create library

2. 添加安装类。在新建的Library里面添加一个 Installer Class,名字我暂时定为MyInstallerClassDll

install class

3. 重写基类的函数

Commit

Install

OnAfterInstall

OnAfterRollback

OnAfterUninstall

OnBeforeInstall

OnBeforeRollback

OnBeforeUninstall

OnCommitted

OnCommitting

Rollback

Uninstall

每个函数对应的是安装过程中的不同时期。

我暂时重写了Commit函数,但是还没有自己的实现。

public override void Commit(System.Collections.IDictionary savedState)

{

base.Commit(savedState);

}

4. 新建一个setup工程,在Other Project Types里面,并且下拉框选中Add to Solution。我暂时命名为setup. 当然这个前提是你有一个想安装的程序。或者有你想制作安装程序的编译后的文件。

setup

5. 添加源程序文件。

切换Setup工程的视图为File System

change view

左键点击Application Folder.这个文件夹就是放源程序文件的。Users Desktop是放桌面快捷方式的,Users Programs Menu是定义开始菜单的。

application

在右边空白的地方右键选中添加项目输出文件

out

下面下来列表选中你要安装的程序,比如我要安装的是WpfSetup。按住Ctrl键选中Primary output Contetn Files,点击OK键。这样就把需要安装的程序的编译后的主要文件都添加进来了。当然也可以手动添加进来如上图选中Add->File然后浏览到你的release或者是debug后的文件夹,然后选中主要文件添加进来。

7

6. 创建快捷方式。在刚刚添加的Primary output from WpfSetup(Active)上面点击右键,选择创建快捷方式,然后重命名。

8

9

把这个重命名的文件用鼠标左键托到Users Desktop文件夹里面,这样的话就会在桌面上面生成一个快捷方式,然后再自定义开始菜单的结构,安装通常的做法,我们在Users Programs Menu文件夹里面新建一个文件夹用于放置我们安装卸载以及帮助手册之类的快捷方式。我定义的文件夹是WPFSample,快捷方式的添加参照Users Desktop里面快捷方式的添加。

这样的话安装程序的文件结构已经完成了。

7. 设置系统必备属性。

setup工程上面点击右键选择属性。

10

点击Prerequisites,在弹出的对话框里面选择如下图所示的选项,一定要选择Download prerequisites from the same location as my application. 当然你也可以根据你的SDK选择不不同的版本。如果你选择的是3.5 Sp1

11

如果在编译的过程中出现了The install location for prerequisites has not been set to 'component vendor's web site' and the file 'dotNetFx35setup.exe' in item 'Microsoft.Net.Framework.3.5.SP1' cannot be located on disk.这样的错误你就需要进行如下操作:

1. 打开[Program Files]/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/

DotNetFx35SP1 文件夹,在x64 操作系统上是 %ProgramFiles(x86)%/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/DotNetFx35SP1

2. 修改Product.xml文件,<PackageFiles>节点里面添加下列内容,然后保存。

<PackageFile Name="TOOLS/clwireg.exe" />
<PackageFile Name="TOOLS/clwireg_x64.exe" />
<tPackageFile Name="TOOLS/clwireg_ia64.exe" />

3. 打开这个网址http://go.microsoft.com/fwlink?LinkID=118080,下载dotNetFx35.exe

4. 打开命令提示符窗口(DOS窗口),并且进入你下载的dotNetFx35.exe的文件夹

5. 执行下面这个命令dotNetFx35.exe /x:。注意/x后面有个冒号呢。

6. 把解压后的WCU/dotNetFramework里面的文件(如下图)拷贝到上面路径提到的DotNetFx35SP1文件夹下面

如果还有问题

1. Product.xml找到<PackageFile Name="dotNetFX30/XPSEPSC-x86-en-US.exe" 然后修改 PublicKey 的值为: 3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001

2.找到<PackageFile Name="dotNetFX30/XPSEPSC-amd64-en-US.exe" 按照上面的步骤修改。

12

8.设置安装程序的属性

setup工程上面右键点击选择属性。如下图。可以选择需要修改的属性,比如语言,作者和制造商以及安装程序的名字等等。

13

9.Rebuild 这个安装部署工程,然后在debug或者release文件里面找到安装文件,比如我的是WPFSample.msi. 双击就可以运行了。

10. 自定义安装界面

setup工程上面点击右键选择用户界面视图

14

打开后如下图,可以看到安装分下面三个部分,Start, Progress, End.我们可以在任意一个部分添加任意一个窗口。有些窗口需要用户输入参数的,这样的话就需要在后台获得这些参数,这样就需要我们开始建立的CustomAction类了。

15

11. 自定义安装行为,选中一个你添加的对话框,比如我选中的是TextBoxes (A),它有四个输入框

我只需要两个所以第三个和第四个的Visible属性都是false. 然后定义第一个和第二个输入框的属性名字,我定义的是NAMEPASSWORD

16

切换到Customs Actions视图

17

InstallCommit文件上面右键添加上面定义的那个Custom Action.当然这个Primary output已经添加到了Application Folder里面了(添加方法参照上文)。这个也可以就是那个工程的.dll文件。

18

选择Install或者Commit文件里面的CustomAction文件,查看属性

19

CustomActionData属性里面输入参数名称和值例如/name=[NAME]这个表达式的意思就是定义一个变量名字是name值是前面添加的那个对话框的属性名称并用[]括起来。这样就可以在自定义安装类里面得到了。方法如下:

string name = this.Context.Parameters["name"].ToString();

string pass = this.Context.Parameters["password"].ToString();

这样就得到了输入框的值。然后在进行一些逻辑操作。也可以抛出一个异常来终止安装过程,并回滚。

throw new Exception("Invalidate name");

回滚和卸载的程序我们也可以自定义,道理都是一样的。

12. 实现卸载

找到msiexec.exe这个文件,通常在C:/WINDOWS下面

添加到Application Folder里面修改名字为Uninstall.exe(也可以不修改)

创建快捷方式,移到Users Programs Menu下面的自定义的那个文件夹下面如WPFSample文件下面

然后打开属性窗口,设置Arguments值为 /x ProductCode 20

这个ProductCode值在Setup工程的属性页可以看到

21

这样就完成了卸载程序了。

分享到:
评论

相关推荐

    联想ThinkSystem机器安装2008R2详细教程

    标题:“联想ThinkSystem机器安装2008R2详细教程”描述:“自联想发布新品服务器以来,关于新品机器能否安装2008的声音此起彼伏,尤其是阵列卡的驱动让众多尝试安装的人折了腰,现在我将整个安装过程做个详细的教程...

    锐起网络工程师培训教程——母盘制作

    锐起网络工程师培训教程主要聚焦于网络环境的搭建与维护,尤其强调母盘制作这一关键环节。母盘,通常指的是在网络部署中用于批量克隆或安装的基础系统镜像,是网络环境中快速部署、统一管理的重要工具。在企业环境中...

    使用 Inno Setup 进行 Jar 包转 EXE 一键安装部署教程

    ### 使用 Inno Setup 进行 Jar 包转 EXE 一键安装部署教程 #### 重要知识点解析 **一、背景与目的** 对于Java开发者、系统管理员以及软件部署人员来说,将Java应用程序打包成易于分发和安装的EXE文件是一项非常...

    installment制作软件教程

    本教程将详细讲解如何使用Install Shield这一专业工具来制作安装软件,涵盖从基础到高级的各种步骤和技术。 **一、程序框架的建立** 1. **建立安装程序工程** 使用Install Shield时,首先需要创建一个工程。双击...

    WEB 工程windows安装包制作

    标题 "WEB工程Windows安装包制作" 涉及到的是在Windows操作系统中创建Web应用程序的部署包的过程。这个过程通常包括将源代码、依赖库、配置文件等打包成一个易于安装的格式,使得用户可以简单地在他们的系统上安装并...

    2019生产应用Oracle+Tomcat项目实施war包部署web工程视频教程

    项目运维实施人员很多时候都需要在win或者Linux环境下部署war包,即web...学完本套课程将能掌握oracle基本操作、PL/SQL developer配置、jdk在win和linux的安装、在linux配置tomcat开机自启动、war包部署、制作等内容。

    上海繁易HMI走马灯制作教程.zip

    上海繁易HMI走马灯制作教程是一套针对工业自动化领域中人机界面(HMI)设计的专业教程,主要讲解如何使用上海繁易公司的HMI软件来创建动态、吸引人的走马灯效果。走马灯通常用于显示滚动信息,如生产数据、报警提示...

    Unity5.6开发捕鱼达人视频0、1、2教程下载

    9. **打包与发布**:最后,教程可能涵盖如何将项目打包成可执行文件,以及在不同平台上(如Android、iOS或PC)进行部署和测试。 通过这套Unity5.6捕鱼达人视频教程,初学者可以逐步掌握游戏开发的基本技能,而有...

    轻轻松松将web工程制作成exe安装包的工具--------smart install maker

    标题 "轻轻松松将Web工程制作成exe安装包的工具——Smart Install Maker" 提到的是一种软件打包工具,主要用于将Web应用程序转换为可执行(exe)文件,方便用户在Windows操作系统上无需安装Web服务器即可运行。...

    factorytalk-view-入门培训教程.pdf

    Factorytalk view 简明培训 ------深圳库马克 杨小贤 ME 工程设计简记: 1、 新建工程 "文件"菜单中选择"新建应用程序" ,弹出如下对话框: 输入应用程序名称,语言选择英语(en-US) ,然后单击创建完成新建程序,...

    c# winform 打包程序制作

    在IT行业中,创建一个应用...总的来说,C# WinForm打包程序制作涉及到了软件工程中的多个方面,包括项目构建、依赖管理、安装逻辑以及用户体验设计。对于初学者来说,理解这些概念并熟练运用是提升开发技能的重要步骤。

    InstallAnywhere教程和参考

    《InstallAnywhere教程与参考指南》是一本专注于软件安装配置工具InstallAnywhere的专业书籍,适用于开发者、系统管理员以及对软件部署有需求的技术人员。InstallAnywhere是由Ziff Davis公司开发的一款跨平台安装...

    installanywhere使用教程视频配套文档

    总结:通过本教程,开发者不仅可以学会使用InstallAnywhere制作安装程序,还能了解到如何将Web工程、数据库和服务器组件整合在一起,提供一站式安装解决方案。同时,提供的配套文档将辅助学习者深入理解和实践...

    InstallShield教程

    通过这个InstallShield入门教程,初学者可以学习到如何使用InstallShield来创建一个基本的安装包,从而迈入安装程序制作的世界。随着对工具的深入理解和实践,可以逐步掌握更复杂的功能,如脚本编写、条件逻辑、错误...

    锐捷认证云桌面工程师(RSE-CDA )PPT.rar

    本压缩包文件包含了一系列与该认证相关的PPT教程,涵盖了从基础到高级的多个方面。下面将详细阐述这些课程的主要知识点: 1. **云桌面基础通用课程**:这部分内容主要介绍云桌面的基本概念,包括云桌面的优势、工作...

Global site tag (gtag.js) - Google Analytics