我已经创建了一个加载项,它的目标2003,展望2007 & 2010版本。 我这样做与VS2008,VSTOSE和PIA2003,与Outlook 2003我的开发机器上沿。我不是如何扩展到办公室/文档级插件,但它可能工作。
你会的,但是,需要检测每个客户端上的Outlook/Office版本并安装相应的PIA。
这可以使用Component Checker完成。在每一个引导程序包,您可以再检查一下,哪个版本存在并且只适用在安装该包。例如在product.xml的引导程序包你会:
<?xml version="1.0" encoding="utf-8"?>
<InstallChecks>
<ExternalCheck Property="Office2003Exists" PackageFile="ComponentCheck.exe" Arguments="{3EC1EAE0-A256-411D-B00B-016CA8376078}"/>
<ExternalCheck Property="Office2003PIAExists" PackageFile="ComponentCheck.exe" Arguments="{14D3E42A-A318-4D77-9895-A7EE585EFC3B}"/>
</InstallChecks>
<Commands Reboot="Defer">
<Command PackageFile="o2003pia.msi" Arguments="" EstimatedInstalledBytes="30000000" EstimatedInstallSeconds="60">
<InstallConditions>
<BypassIf Property="Office2003Exists" Compare="ValueNotEqualTo" Value="0" />
<BypassIf Property="Office2003PIAExists" Compare="ValueEqualTo" Value="0" />
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
2007年产品ID:
Outlook : 0638C49D-BB8B-4CD1-B191-050E8F325736
PIA: ED569DB3-58C4-4463-971F-4AAABB6440BD
该pr 2010年oduct ID是:
Outlook : CFF13DD8-6EF2-49EB-B265-E3BFC6501C1D
PIA: 1D844339-3DAE-413E-BC13-62D6A52816B2
这是否意味着你将要包括的先决条件到您的安装程序包,而不是允许下载,这将显着提高下载大小。
您还将只能使用2003年的方法等。此外,您创建的任何工具栏都将是基本的,因为您无法完全控制功能区。您仍然可以添加按钮等,你会在2003 & 2007年他们将在自己的功能区组出现在建议的2010年
一个字,虽然,在我的解决方案,我创建了一个单独的组件,用于任何没有与Outlook进行交互。这样,如果将来需求发生变化,我可以轻松地将加载项分割为特定版本的目标,而不会影响加载项的主要核心功能。
如果您有兴趣请提交此:stackoverflow.com/documentation/outlook-addin/commit – 2016-07-27 05:28:22