VSTO Addin for Outlook 通过 WIX 安装
VSTO Addin for Outlook install via WIX
我的目标是为本地 PC 上的所有用户而不是当前用户安装 VSTO Outlook 插件。我使用了 Visual Studio 中的 Publish
方法,结果是 exe 文件,这意味着 ClickOnce
方法。 (不能为所有人安装)
好吧,我开始研究我发现 Wix
。
我的第一个问题是,当我从我的 VSTO 插件从 Visual Studio 创建构建时,我有 2 个目录和 20 个文件,是否可以在 WIX 目录参考中的 product.wxs
文件中分配目录?
第二个问题,当文件和目录“安装”到目标目录时,(例如程序文件)如何将VSTO分配给Outlook?是因为要将 VSTO 添加到注册表 HKLM
?
我在问我是否离我的目标更近了
不确定我是否理解您的第一个问题,但无论如何我都会尽力回答。您必须带到用户 PC 上的唯一文件是位于 bin/Release
文件夹下的文件,扩展名为 *.pdb
的文件除外。有两种方法可以将它们添加到安装中:
- 第一种方法是手动添加每个要包含在安装中的文件作为您
Product.wxs
中的文件组件。你可以在他们的官方 tutorial. 中找到一个很好的例子
- 第二种方法是利用 Wix 工具集中的 harvest tool (Heat)。此工具可以在构建过程中自动生成组件列表。
关于你的第二个问题。要让 Word 或 Outlook 看到您的附加组件,您必须在安装期间在 Windows 注册表中创建一个条目。例如,对于 Microsoft Word,您必须使用以下条目创建一个新键 HKLM\Software\Microsoft\Office\Word\Addins\MySuperAddOn
:
Entry
Type
Value
Description
REG_SZ
Required. A brief description of the VSTO Add-in. This description is displayed when the user selects the VSTO Add-in in the Add-Ins pane of the Options dialog box in the Microsoft Office application.
FriendlyName
REG_SZ
Required. A descriptive name of the VSTO Add-in that is displayed in the COM Add-Ins dialog box in the Microsoft Office application. The default value is the VSTO Add-in ID.
LoadBehavior
REG_DWORD
Required. A value that specifies when the application attempts to load the VSTO Add-in and the current state of the VSTO Add-in (loaded or unloaded). By default, this entry is set to 3, which specifies that the VSTO Add-in is loaded at startup. For more information, see LoadBehavior values. Note: If a user disables the VSTO Add-in, that action modifies LoadBehavior value in the HKEY_CURRENT_USER registry hive. For each user, the value of the LoadBehavior value in the HKEY_CURRENT_USER hive overrides the default LoadBehavior defined in the HKEY_LOCAL_MACHINE hive.
Manifest
REG_SZ
Required. The full path of the deployment manifest for the VSTO Add-in. The path can be a location on the local computer, a network share (UNC), or a Web server (HTTP). If you use Windows Installer to deploy the solution, you must add the prefix file:/// to the manifest path. You must also append the string |vstolocal
(that is, the pipe character |
followed by vstolocal
) to the end of this path. This ensures that your solution is loaded from the installation folder, rather than the ClickOnce cache. For more information, see Deploy an Office solution by using Windows Installer. Note: When you build a VSTO Add-in on the development computer, Visual Studio automatically appends the
您可能需要阅读 official documentation 以了解更多详细信息。
Wix 工具集也允许这样做。您必须在 Product.wxs
.
中声明 RegistryKey
组件
我的目标是为本地 PC 上的所有用户而不是当前用户安装 VSTO Outlook 插件。我使用了 Visual Studio 中的 Publish
方法,结果是 exe 文件,这意味着 ClickOnce
方法。 (不能为所有人安装)
好吧,我开始研究我发现 Wix
。
我的第一个问题是,当我从我的 VSTO 插件从 Visual Studio 创建构建时,我有 2 个目录和 20 个文件,是否可以在 WIX 目录参考中的 product.wxs
文件中分配目录?
第二个问题,当文件和目录“安装”到目标目录时,(例如程序文件)如何将VSTO分配给Outlook?是因为要将 VSTO 添加到注册表 HKLM
?
我在问我是否离我的目标更近了
不确定我是否理解您的第一个问题,但无论如何我都会尽力回答。您必须带到用户 PC 上的唯一文件是位于 bin/Release
文件夹下的文件,扩展名为 *.pdb
的文件除外。有两种方法可以将它们添加到安装中:
- 第一种方法是手动添加每个要包含在安装中的文件作为您
Product.wxs
中的文件组件。你可以在他们的官方 tutorial. 中找到一个很好的例子
- 第二种方法是利用 Wix 工具集中的 harvest tool (Heat)。此工具可以在构建过程中自动生成组件列表。
关于你的第二个问题。要让 Word 或 Outlook 看到您的附加组件,您必须在安装期间在 Windows 注册表中创建一个条目。例如,对于 Microsoft Word,您必须使用以下条目创建一个新键 HKLM\Software\Microsoft\Office\Word\Addins\MySuperAddOn
:
Entry | Type | Value |
---|---|---|
Description | REG_SZ | Required. A brief description of the VSTO Add-in. This description is displayed when the user selects the VSTO Add-in in the Add-Ins pane of the Options dialog box in the Microsoft Office application. |
FriendlyName | REG_SZ | Required. A descriptive name of the VSTO Add-in that is displayed in the COM Add-Ins dialog box in the Microsoft Office application. The default value is the VSTO Add-in ID. |
LoadBehavior | REG_DWORD | Required. A value that specifies when the application attempts to load the VSTO Add-in and the current state of the VSTO Add-in (loaded or unloaded). By default, this entry is set to 3, which specifies that the VSTO Add-in is loaded at startup. For more information, see LoadBehavior values. Note: If a user disables the VSTO Add-in, that action modifies LoadBehavior value in the HKEY_CURRENT_USER registry hive. For each user, the value of the LoadBehavior value in the HKEY_CURRENT_USER hive overrides the default LoadBehavior defined in the HKEY_LOCAL_MACHINE hive. |
Manifest | REG_SZ | Required. The full path of the deployment manifest for the VSTO Add-in. The path can be a location on the local computer, a network share (UNC), or a Web server (HTTP). If you use Windows Installer to deploy the solution, you must add the prefix file:/// to the manifest path. You must also append the string |vstolocal (that is, the pipe character | followed by vstolocal ) to the end of this path. This ensures that your solution is loaded from the installation folder, rather than the ClickOnce cache. For more information, see Deploy an Office solution by using Windows Installer. Note: When you build a VSTO Add-in on the development computer, Visual Studio automatically appends the |
您可能需要阅读 official documentation 以了解更多详细信息。
Wix 工具集也允许这样做。您必须在 Product.wxs
.
RegistryKey
组件