使用 .wid 文件 Visual Studio 2017

Use .wid files with Visual Studio 2017

我使用 Visual Studio 2017 Professional (.vdproj file) 创建了一个安装项目。我想按照本页中的建议使用密码对话框:

https://www.codeproject.com/Tips/659367/Password-Dialog-for-Visual-Studio-Deployment-Proje

本教程是为 Visual Studio 2012 编写的,效果很好,将文件 VsdUsernamePasswordDlg.wid 放入此文件夹:

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\Deployment\VsdDialogs33"

但我找不到合适的地方来放置此文件以用于 Visual Studio 2017.


2017 年 10 月 9 日编辑

我按照 PhilDW 给出的说明进行操作,但是当我尝试编译安装项目时出现此错误:ERROR: No such interface supported.

我在可能的选项中看不到密码对话框:

他们在:

C:\Program Files (x86)\Microsoft Visual Studio17\Community\Common7\IDE\CommonExtensions\Microsoft\VSI\bin\VsdDialogs33

在我的系统上。如果您根本找不到任何 .wid 文件,可能是因为安装程序项目扩展是一个单独的 add-in,来自这里:

https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects

.wid 文件基本上是一个包含在 MSI 文件中的合并模块,而该 CodeProject 文章中的 .wid 文件只是标准编辑对话框之一,其密码位设置在控制。换句话说,您可以通过这种方式获得相同的结果:

  1. 选择您要安装的附加对话框,在本例中我将使用文本框 (C)。构建 MSI 文件。

  2. 用 Orca 打开 MSI 文件,然后转到控件 table。单击对话框标题进行排序,然后查看 CustomTextC 对话框条目。 Edit2 和 Edit4 将是两个密码条目(因为在此示例中 Edit1 和 Edit3 是用户名)。属性值将为 7,将其更改为 2097159,因为您只是在此处添加使其成为密码控件的值:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa368042(v=vs.85).aspx

  1. 保存您的 MSI 文件。

所以在那篇文章中,作者复制了一个 TextBoxes .wid 文件,用 Orca 等 MSI 文件编辑器打开它,转到控件 table,进行我刚才所做的更改,然后保存它作为一个新的 .wid 文件。如果你不想编辑你的 MSI 文件,你可以做同样的事情。

为了完成 PhilDW 的回答,我在这里写了在 VS 2013 和 2017 的 .vdproj 项目中使用 .wid 的解决方案。你必须将它们放入:

Visual Studio 2017

C:\Program Files (x86)\Microsoft Visual Studio17\ VS_Version \Common7\IDE\CommonExtensions\Microsoft\VSI\bin\VsdDialogs33

其中 VS_Version 是您的 VS 版本的名称:Community、Professional 等

Visual Studio 2013

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\VSI\bin\VsdDialogs33