微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 WIX

如何解决通过 WIX

我的目标是为本地 PC 上的所有用户而不是当前用户安装 VSTO Outlook Addin。我使用了 Visual Studio 中的 Publish 方法,结果是 exe 文件,这意味着 ClickOnce 方法。 (不适用于所有人安装)

好吧,我开始研究我发现 Wix

我的第一个问题是,当我从 VSTO 插件从 Visual Studio 创建 Build 时,我有 2 个目录和 20 个文件,是否可以在 WIX 目录引用的 product.wxs 文件中分配目录?

第二个问题,当文件和目录“安装”到目标目录时,(例如程序文件)如何将 VSTO 分配给 Outlook?它是因为将 VSTO 添加注册HKLM ?

我问我是否离我的目标更近了

解决方法

不确定我是否理解您的第一个问题,但无论如何我都会尝试回答。除了那些具有 bin/Release 扩展名的文件外,您必须带到用户 PC 的唯一文件是位于 *.pdb 文件夹下的文件。有两种方法可以将它们添加到安装中:

  • 第一种方法是手动添加要包含在安装中的每个文件作为文件组件Product.wxs。您可以在他们的官方 tutorial 中找到一个很好的例子。
  • 第二种方法是利用 Wix 工具集中的 harvest tool (Heat)。此工具可以在构建期间自动生成组件列表。

关于你的第二个问题。要使 Word 或 Outlook 看到您的加载项,您必须在安装过程中在 Windows 注册表中创建一个条目。例如,对于 Microsoft Word,您必须使用以下条目创建一个新键 HKLM\Software\Microsoft\Office\Word\Addins\MySuperAddOn

条目 类型 价值
说明 REG_SZ 必填。 VSTO 插件的简要说明。当用户在 Microsoft Office 应用程序的“选项”对话框的“加载项”窗格中选择 VSTO 加载项时,将显示此说明。
友好名称 REG_SZ 必填。显示在 Microsoft Office 应用程序的 COM 加载项对话框中的 VSTO 加载项的描述性名称。默认值为 VSTO 插件 ID。
加载行为 REG_DWORD 必填。一个值,用于指定应用程序何时尝试加载 VSTO 插件以及 VSTO 插件的当前状态(已加载或已卸载)。默认情况下,此项设置为 3,它指定 VSTO 加载项在启动时加载。有关更多信息,请参阅 LoadBehavior 值。注意:如果用户禁用 VSTO 外接程序,该操作会修改 HKEY_CURRENT_USER 注册表配置单元中的 LoadBehavior 值。对于每个用户,HKEY_CURRENT_USER 配置单元中的 LoadBehavior 值会覆盖 HKEY_LOCAL_MACHINE 配置单元中定义的默认 LoadBehavior。
清单 REG_SZ 必填。 VSTO 外接程序的部署清单的完整路径。路径可以是本地计算机上的位置、网络共享 (UNC) 或 Web 服务器 (HTTP)。如果使用 Windows Installer 部署解决方案,则必须将前缀 file:/// 添加到清单路径。您还必须将字符串 |vstolocal(即管道字符 | 后跟 vstolocal)附加到此路径的末尾。这可确保您的解决方案是从安装文件夹加载的,而不是从 ClickOnce 缓存加载的。有关详细信息,请参阅使用 Windows Installer 部署 Office 解决方案。注意:在开发计算机上构建 VSTO 外接程序时,Visual Studio 会自动附加

您可能需要阅读 official documentation 以了解更多详情。

Wix 工具集也允许这样做。您必须在 RegistryKey 中声明 Product.wxs 组件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。