2

我在NetOffice. 它在我的开发 PC 上运行良好,但我正在努力构建部署设置。我搜索了很多,但所有教程似乎都针对安装了专业版 Visual Studio 的开发人员。我是一名业余爱好者,运行 Visual Studio Community 2015。因此我使用了NetOfficeVSTO 工具,但我没有可用的 VSTO 工具。这个网站是迄今为止最有帮助的: 用于 VSTO 项目的 WiX 安装程序

我安装WiX并使用了这个站点中的示例作为模板。但是这段代码对我不起作用:

<Component Id="CMP_DllManifest">
  <File Id="FILE_DllManifest" Source="$(var.NoReplyAll.TargetPath).manifest" KeyPath="yes" />
</Component>
<Component Id="CMP_VstoManifest">
  <File Id="FILE_VstoManifest" Source="$(var.NoReplyAll.TargetDir)$(var.NoReplyAll.TargetName).vsto" KeyPath="yes" />
     <RegistryKey Root="HKLM" Key="Software\Microsoft\Office\Outlook\Addins\NoReply">
        <RegistryValue Name="Description" Value="NoReplyAll Add-In" Type="string" Action="write" />
        <RegistryValue Name="FriendlyName" Value="NoReplyAll" Type="string" Action="write" />
        <RegistryValue Name="LoadBehavior" Value="3" Type="integer" Action="write" />
        <RegistryValue Name="Manifest" Value="[#FILE_VstoManifest]|vstolocal" Type="string" Action="write" />
     </RegistryKey>
 </Component>

原因是我构建的输出文件夹中不存在 .manifest 和 .vsto 文件。我搜索了如何生成它们,但答案是进入项目属性的“链接器”选项卡并进行必要的设置。仅在我的 Visual Studio 版本中,此选项卡不存在。所以现在我又被卡住了。

对于使用免费工具的廉价爱好开发者,是否有解决方案?

4

1 回答 1

1

当我使用 NetOffice 开发 Excel 插件时,我使用 WiX# 创建了一个安装程序。希望您可以根据自己的目的对其进行修改:https ://gitlab.com/jbjurstam/ExcelAnimationRecorder/tree/master/Installer

您需要为 64 位和 32 位创建单独的安装程序,否则 regasm 将无法正常工作。另一方面,您的 dll 可以使用 AnyCPU 构建(但是,如果您想为 64 位 Excel 调试它,您需要为 64 位构建并将调试目标设置为 Excel.exe)。安装程序调用 regasm,然后调用 dll(NetOffice 为您生成)中的 register 方法。这是使用 CustomAction 完成的。

于 2017-02-15T07:55:29.623 回答