一、准备工作
1 Visual Studio 2015 必须有相关的打包组件;
2 Visual Studio的打包组件有 InstallShield 和 Visual Studio Installer Projects (安装包:VSI_bundle)组件;
3 Visual Studio Installer Projects还可在VS软件中下载,下载方式如下:
a)点中菜单栏的“工具”选项,并选中“扩展和更新”;
b)在搜索框输入 Visual Studio Installer Projects ,然后选中Visual Studio Installer Projects 安装。
二、使用 Visual Studio Installer Projects 打包项目
1、 创建项目,可在菜单栏点击 文件——>新建——>项目,也可在当前解决方案上右键,然后选择 添加——>新建项目
2 选中 其他项目类型 ——> Visual Studio Installer ——>Setup Project ,然后编辑 名称 和 位置 。
3 新建的 工程文件 如下图所示。
工程中包含三个文件夹:
Application Folder:存放打包项目包含的所有文件;
User‘s Desktop:存放安装后要置于桌面的文件;
User’s Programs Menu:存放安装后在“开始菜单”内显示的文件;4 打包文件包含可执行exe(或项目主输出)文件及项目运行包含的脚本、外部添加的dll文件等相关依赖项。
添加方法:
a)点中 “Application Folder” 选项,然后右击,移动至“Add”上;
Folder:添加文件夹;
项目输出:可添加项目的输出文件;
文件:项目运行包含的脚本、外部添加的dll文件等;
程序集:添加项目依赖项,一般在“文件”处就添加了。
b)添加项目主输出文件,点击 “项目输出”,在“项目”处选择需要打包的项目,点中“主输出”,然后点中“确定”。(这里添加项目生成的 .exe 文件也是一样的)
c)添加程序运行需要的 脚本及外部添加dll文件 等,右击 “Application Folder” 文件夹空白处,选择需要添加的 文件和文件夹。
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” 生成的文件夹中;
e)添加卸载程序的exe文件
1、右击 “Application Folder” 文件夹空白处,找到 “msiexec.exe”文件,在路径处粘贴 “C:\Windows\System32” ,找到 “msiexec.exe” 文件,点击 “打开”。
2、选中“msiexec.exe”文件,右击选择 “Create Shortcut to” ,并将生成的文件名改为 “uninstall” ;
如下图所示。
3、选中 解决方案资源管理器 中的打包项目,复制 属性的ProductCode 值。
4、选中 “uninstall” ,将复制的 ProductCode 值粘贴至 “uninstall” 属性的 Arguments处,并在最前面添加 /x及一个英文空格。
f)添加程序图标(应用程序及卸载程序)
1、选中需要更该的应用图标。
2、点中 属性框中Icon ,选中 (Browse … …)
3、在弹出窗口中 点击 Browse
4、双击 “Application Folder”
5、选中 添加的 ico 文件
6、点击 OK
g)更改应用在 “卸载或更改程序” 中的图标
选中打包项目文件,在 “AddRemoveProgramsIcon” 项按f)步骤更改图标。
h)更改安装文件路径
选中 “Application Folder” ,在 DefaultLocation 处 将[ProgramFilesFolder][Manufacturer][ProductName] 改为 C:[Manufacturer][ProductName],安装文件夹由 C:\Program Files[Manufacturer][ProductName] 改为C:[Manufacturer][ProductName] 。
i)设置setup的启动条件,判断net是否安装
一般打包的应用程序运行框架中,会依赖“. net Framework”版本环境,所以为确保应用安装并正常运行须先保证系统配置有指定版本及以上版本的依赖项。
1、选中项目,右击——>View——>启动条件
2、选中 Net Framework ,在其属性页 Version 项,选择对应的 .Net Framework版本。
j)配置完成,生成项目安装包
1、选中 打包项目,右击,点击生成。
2、生成后的问件夹。
3、生成后Debug包
三、其它
1 打开打包项目的文件系统
2 主输出或exe的属性
序号 | 名称 | 中译 |
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 打包项目的属性各项涵义
序号 | 名称 | 解释 | 中译 | 译文 |
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文件的版本号。 |