一、准备工作

1 Visual Studio 2015 必须有相关的打包组件;

2 Visual Studio的打包组件有 InstallShieldVisual Studio Installer Projects (安装包:VSI_bundle)组件;

3 Visual Studio Installer Projects还可在VS软件中下载,下载方式如下:

a)点中菜单栏的“工具”选项,并选中“扩展和更新”;

visualstudio 打包Java安装包 visual studio打包成安装包_Visual

b)在搜索框输入 Visual Studio Installer Projects ,然后选中Visual Studio Installer Projects 安装。

visualstudio 打包Java安装包 visual studio打包成安装包_应用程序_02

二、使用 Visual Studio Installer Projects 打包项目

1、 创建项目,可在菜单栏点击 文件——>新建——>项目,也可在当前解决方案上右键,然后选择 添加——>新建项目

visualstudio 打包Java安装包 visual studio打包成安装包_应用程序_03

2 选中 其他项目类型 ——> Visual Studio Installer ——>Setup Project ,然后编辑 名称 和 位置 。

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_04

3 新建的 工程文件 如下图所示。

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_05


工程中包含三个文件夹:

Application Folder:存放打包项目包含的所有文件;

User‘s Desktop:存放安装后要置于桌面的文件;

User’s Programs Menu:存放安装后在“开始菜单”内显示的文件;4 打包文件包含可执行exe(或项目主输出)文件及项目运行包含的脚本、外部添加的dll文件等相关依赖项。

添加方法:

a)点中 “Application Folder” 选项,然后右击,移动至“Add”上;

Folder:添加文件夹;

项目输出:可添加项目的输出文件;

文件:项目运行包含的脚本、外部添加的dll文件等;

程序集:添加项目依赖项,一般在“文件”处就添加了。

visualstudio 打包Java安装包 visual studio打包成安装包_windows_06

b)添加项目主输出文件,点击 “项目输出”,在“项目”处选择需要打包的项目,点中“主输出”,然后点中“确定”。(这里添加项目生成的 .exe 文件也是一样的)

visualstudio 打包Java安装包 visual studio打包成安装包_应用程序_07

c)添加程序运行需要的 脚本及外部添加dll文件 等,右击 “Application Folder” 文件夹空白处,选择需要添加的 文件和文件夹。

visualstudio 打包Java安装包 visual studio打包成安装包_c#_08

d)添加 快捷方式

1、选中“主输出”文件或添加的 “.exe” 文件,右击选择 “Create Shortcut to” ;

2、点击生成的文件,将其移动至 “User‘s Desktop” ;

3、在 “User’s Programs Menu” 中新建Folder,生成一个文价夹;

4、回到 “Application Folder” 文件夹,选中“主输出”文件或添加的 “.exe” 文件,右击选择 “Create Shortcut to” ;

5、点击生成的文件,将其移动至 “User’s Programs Menu” 生成的文件夹中;

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_09

e)添加卸载程序的exe文件

1、右击 “Application Folder” 文件夹空白处,找到 “msiexec.exe”文件,在路径处粘贴 “C:\Windows\System32” ,找到 “msiexec.exe” 文件,点击 “打开”。

visualstudio 打包Java安装包 visual studio打包成安装包_c#_10

2、选中“msiexec.exe”文件,右击选择 “Create Shortcut to” ,并将生成的文件名改为 “uninstall” ;

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_11


visualstudio 打包Java安装包 visual studio打包成安装包_Visual_12

如下图所示。

visualstudio 打包Java安装包 visual studio打包成安装包_应用程序_13

3、选中 解决方案资源管理器 中的打包项目,复制 属性的ProductCode 值。

visualstudio 打包Java安装包 visual studio打包成安装包_windows_14

4、选中 “uninstall” ,将复制的 ProductCode 值粘贴至 “uninstall” 属性的 Arguments处,并在最前面添加 /x及一个英文空格。

visualstudio 打包Java安装包 visual studio打包成安装包_microsoft_15


visualstudio 打包Java安装包 visual studio打包成安装包_windows_16

f)添加程序图标(应用程序及卸载程序)

1、选中需要更该的应用图标。

visualstudio 打包Java安装包 visual studio打包成安装包_c#_17

2、点中 属性框中Icon ,选中 (Browse … …)

visualstudio 打包Java安装包 visual studio打包成安装包_windows_18

3、在弹出窗口中 点击 Browse

visualstudio 打包Java安装包 visual studio打包成安装包_microsoft_19

4、双击 “Application Folder”

visualstudio 打包Java安装包 visual studio打包成安装包_windows_20

5、选中 添加的 ico 文件

visualstudio 打包Java安装包 visual studio打包成安装包_windows_21

6、点击 OK

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_22

g)更改应用在 “卸载或更改程序” 中的图标

选中打包项目文件,在 “AddRemoveProgramsIcon” 项按f)步骤更改图标。

visualstudio 打包Java安装包 visual studio打包成安装包_应用程序_23

h)更改安装文件路径

选中 “Application Folder” ,在 DefaultLocation 处 将[ProgramFilesFolder][Manufacturer][ProductName] 改为 C:[Manufacturer][ProductName],安装文件夹由 C:\Program Files[Manufacturer][ProductName] 改为C:[Manufacturer][ProductName] 。

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_24

i)设置setup的启动条件,判断net是否安装

一般打包的应用程序运行框架中,会依赖“. net Framework”版本环境,所以为确保应用安装并正常运行须先保证系统配置有指定版本及以上版本的依赖项。

1、选中项目,右击——>View——>启动条件

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_25

2、选中 Net Framework ,在其属性页 Version 项,选择对应的 .Net Framework版本。

visualstudio 打包Java安装包 visual studio打包成安装包_microsoft_26

j)配置完成,生成项目安装包

1、选中 打包项目,右击,点击生成。

visualstudio 打包Java安装包 visual studio打包成安装包_windows_27

2、生成后的问件夹。

visualstudio 打包Java安装包 visual studio打包成安装包_windows_28

3、生成后Debug包

visualstudio 打包Java安装包 visual studio打包成安装包_c#_29

三、其它

1 打开打包项目的文件系统

visualstudio 打包Java安装包 visual studio打包成安装包_windows_30

2 主输出或exe的属性

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_31

序号

名称

中译

1

Condition

条件

2

Dependencies

依赖

3

Exclude

排除

4

Exclude Filter

排除筛选器

5

Folder

文件夹

6

Hidden

隐藏

7

Key Output

键输出

8

Outputs

输出

9

Package As

打包为

10

Permanent

永久

11

Read Only

只读

12

Register

注册

13

Shared Legacy

共享遗产

14

System

系统

15

Transitive

及物

16

vital

重要

3 打包项目的属性各项涵义

visualstudio 打包Java安装包 visual studio打包成安装包_Visual_32

序号

名称

解释

中译

译文

1

Add Remove Programs Icon

Specifies an icon to be displayed in the Add/Remove Programs dialog box on the target computer.

“添加/删除程序”对话框中显示的图标

指定要在目标计算机上的“添加/删除程序”对话框中显示的图标。

2

Author

Specifies the name of the author of an application or component.

作者

指定应用程序或组件的作者姓名。

3

Backward compatible ID Generation

True specifies Visual Studio 2008 (and earlier) lD generation; False specifies Visual Studio 2010 ID generation.

向后兼容的 ID生成True

指定 Visual Studio 2008(及更早版本) lD 生成;False 指定 Visual Studio 2010 lD 生成。

4

Description

Specifies a free-form description for an installer.

描述

指定安装程序的说明(自由格式)

5

Detect Newer Installed Version

Specifies whether to check for newer versions of an application during installation.

检测较新的安装版本

指定是否在安装过程中检查应用程序的较新版本。

6

Install All users

Specifies whether the package is installed for all users or only the installing user.

所有用户均可安装

指定是为所有用户安装包还是仅为安装用户安装包。

7

Keywords

Specifies keywords used to search for an installer.

关键字

指定用于搜索安装程序的关键字。

8

Localization

Specifies the locale for string resources and the run-time user interface.

地方化

指定字符串资源的区域设置和运行时用户界面。

9

Manufacturer

Specifies the name of the manufacturer of an application or component.

制造商

指定应用程序或组件的制造商的名称。

10

ManufacturerUrl

Specifies a URL for a Web site containing information about the manufacturer application or component .

制造商网址

指定包含制造商相关信息的网站的 URL应用程序或组件。

11

Post Build Event

Specifies any commands to execute after the build ends.

后期构建事件

指定要在生成结束后执行的任何命令。

12

Pre Build Event

Specifies any commands to execute before the build starts.

预构建事件

指定在生成开始之前要执行的任何命令。

13

Product code

Specifies a unique identifier for an application.

产品代码

指定应用程序的唯一标识符。

14

Product Name

Specifies a public name that describes an application or component.

产品名称

指定描述应用程序或组件的公共名称。

15

Remove Previous Versions

Specifies whether an installer will remove previous versions of an application during installation.

删除以前的版本

指定安装程序是否在安装过程中删除应用程序的早期版本。

16

Run Post Build Event

Specifies the condition under which the post-build event runs.

运行生成后事件

指定运行后期生成事件的条件。

17

Search Path

Specifies the path that is used to search for assemblies, files, or merge modules on the development computer.

搜索路径

指定用于在开发计算机上搜索程序集、文件或合并模块的路径。

18

Subject

Specifies additional information descrioing an application or component.

主题

指定描述应用程序或组件的其他信息。

19

Support Phone

Specifies a phone number for support information for an application or component.

支持电话

指定应用程序或组件的支持信息的电话号码。

20

Support Url

Specifies a URL for a Web site containing support information for an application or component.

支持网址

指定包含应用程序或组件支持信息的网站的 URL 。

21

Target Platform

Specifies the target platform of the installer.

目标平台

指定安装程序的目标平台。

22

Title

Specifies the title of an installer.

标题

指定安装程序的标题。

23

Upgrade Code

Specifies a shared identifier that represents multiple versions of an application.

升级代码

指定表示应用程序的多个版本的共享标识符。

24

Version

Specifies the version number of an installer, merge module, or .cab file.

版本

指定安装程序、合并模块或.cab文件的版本号。