2017-02-01 4 views
2

Ich habe ein Outlook-Plugin mit Hilfe von NetOffice entwickelt. Es läuft gut auf meinem Entwicklungs-PC, aber ich habe Schwierigkeiten, ein Deployment-Setup zu erstellen. Ich habe viel gegoogelt, aber alle Tutorials scheinen auf Entwickler abzuzielen, die eine professionelle Version von Visual Studio installiert haben. Ich bin ein Hobby-Entwickler mit Visual Studio Community 2015. Daher meine Verwendung von NetOffice und ich habe keine VSTO-Tools zur Verfügung. Diese Seite war das hilfreich bisher: WiX installer for VSTO projectsDeployment Setup für Office

Ich installierte WiX und verwendet das Beispiel in dieser Site als Vorlage. Aber dieses Stück Code funktioniert nicht für mich:

<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> 

Der Grund dafür ist, dass die manifest und .vsto Dateien existieren nicht in den Ausgabeordner meiner bauen. Ich habe gegoogelt, um herauszufinden, wie man sie erzeugt, aber die Antwort ist, auf die Registerkarte "Linker" der Projekteigenschaften zu gehen und die notwendigen Einstellungen vorzunehmen. Nur in meiner Visual Studio-Version ist diese Registerkarte nicht vorhanden. So jetzt bin ich wieder fest.

Gibt es eine Lösung für einen billigen Hobby-Entwickler, der kostenlose Tools verwendet?

Antwort

1

Als ich ein Excel-Plugin mit NetOffice entwickelt habe, habe ich ein Installationsprogramm mit WiX # erstellt. Hoffentlich können Sie es für Ihre Zwecke ändern: https://gitlab.com/jbjurstam/ExcelAnimationRecorder/tree/master/Installer

Sie müssen separate Installer für 64 und 32 Bit erstellen, sonst wird regasm nicht korrekt funktionieren. Ihre DLL kann auf der anderen Seite mit AnyCPU erstellt werden (wenn Sie es jedoch für 64-Bit-Excel debuggen möchten, müssen Sie für 64 Bit erstellen und das Debug-Ziel auf Excel.exe festlegen). Das Installationsprogramm ruft regasm auf, das wiederum die register-Methode in Ihrer dll aufruft (die NetOffice für Sie generiert). Dies wird mit einer CustomAction erreicht.