惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
博客园_首页
罗磊的独立博客
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
Last Week in AI
Last Week in AI
D
DataBreaches.Net
Jina AI
Jina AI
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
D
Docker
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
H
Help Net Security
T
The Blog of Author Tim Ferriss

博客园 - Asharp

使用PowerShell批量修改项目文件的版本号 PowerShell因为在此系统中禁止执行脚本解决方法 .NET中zip的压缩和解压——SharpCompress .NET中zip的压缩和解压 【转】Face detection with getUserMedia 【转】Web实现音频、视频通信 【转】关于IPv6的六大误区:IPv6并非更安全 【转】Silverlight与Flex的比较选择 [转]12 很有用的 Chrome 浏览器命令 How to Set Up SSL on IIS 7 JavaScript实现md5加密 在64位系统32的.net应用程序出现CLR20R3错误 【转】CLR20R3 程序终止的几种解决方案 【转】ASPxGridView 日期范围过滤扩展 DevExpress的web.config配置 DevExpress的JavaScript脚本智能提示 加载托管C++程序集出现0x800736B1异常的解决方法 Exchange server 2007安装篇 Visual Assist X中文注释提示错误问题
使用Orca在Visual Studio安装项目中创建自定义对话框
Asharp · 2011-05-19 · via 博客园 - Asharp

一、背景     

      使用Visual Studio安装项目来创建程序的安装很方便快捷,但在创建过程中提供可以使用的对话框很有限:

      启动节点有:“启动画面”、“欢迎使用”、3个“单选按钮”、3个“复选框”、3个“文本框”、“安装文件夹”(或“安装地址”)以及“确认安装”。

     image

二、解决方案

     可以使用Orca工具创建自定义的对话框,Orca 是一款由微软提供的用于 Windows Installer 数据库表编辑器。可用来编辑 Windows Installer 数据库文件 (.msi) 文件,合并模块 (.msm) 文件,补丁 (.msp) 文件,内部一致性计算程序 (.cub) 文件和补丁创建属性 (.pcp) 文件。是修改和本地化 Windows Installer 数据库的最佳辅助工具。
     Visual Studio的安装项目所使用的对话框保持在:%ProgramFiles%\Microsoft Visual Studio 8\Common7\Tools\Deployment\VsdDialogs目录下。

     使用Orca打开对话框的wid文件显示如下:

image

      主要包含有几个表:

      1、Dialog

      主要是对话框的定义,包括对话框的高度、宽度,标题,按钮的顺序。更多描述参考:http://msdn.microsoft.com/en-us/library/aa368286(v=VS.85).aspx

      2、Control

      是对话框中控件的列表,包括控件的标识,所属的对话框(具体类型定义参考MSDN:http://msdn.microsoft.com/en-us/library/aa368039(v=VS.85).aspx),位置,大小,类型等。更多描述参考:http://msdn.microsoft.com/en-us/library/aa368286(v=VS.85).aspx

      3、ControlCondition

      描述对话框的条件,更多描述参考:http://msdn.microsoft.com/en-us/library/aa368035(v=VS.85).aspx

      4、ModuleConfiguration

      描述对话框相关的配置,包括名称,格式,类型,取值范围,默认值,文本,描述等。

      5、ModuleDialog

      描述对话框的标识,显示名称

      6、ModuleSignatue

      描述对话框的ID,语言。

      7、ModuleSubstitution

      描述表,行的值的映射表。

三、示例

      简单描述创建5个复选框的对话框的过程。

      1、从ProgramFiles%\Microsoft Visual Studio 8\Common7\Tools\Deployment\VsdDialogs\0目录下复制”VsdCustomCheck1Dlg.wid”,并改名为“VsdCustomCheck4Dlg.wid”。

      2、使用Orca工具打开“VsdCustomCheck4Dlg.wid”文件,为了不跟原来的冲突,把所有“CheckboxA”改为“CheckboxD”(可以使用替换Ctrl+Shift+F)。

      3、在“Control”表添加“CheckBox5”:

image

      4、添加ControlAction:

image

      5、设置ModuleConfiguration,注意,自带的都是通过“#+编号”来设置,这些配置也可以直接用文本。

image   

       6、设置ModuleSubstitution:

image

       7、设置ModuleId:image 按钮可以直接生成Guid:

image

       8、查看预览效果:“工具”——“对话框预览”

image

      9、要在Visual Studio中显示还需要把”VsdCustomCheck4Dlg.wid”拷到1033目录下并设置Language:

image

     10、重启Visual Studio就可以在添加的对话框看到自定义的对话框“Checkboxes  (D)”:

image 

      11、添加到启动节点,查看其属性:

image  

      12、测试:

image

自定义对话框下载