2011-12-08 45 views
0

我需要在安裝後運行一些VSTO。我試過的每件事都是消極的。如何通過WiX執行VSTO後安裝

一個例子:
<Property Id="runcmd">start</Property>

<CustomAction Id="RunOutlookVSTO" 
       Property="runcmd" 
       Execute="deferred" 
       Return="asyncNoWait" 
       ExeCommand="[SourceDir]Outlook2010AddIn.vsto"> 
</CustomAction> 

<InstallExecuteSequence> 
    <Custom Action="RunOutlookVSTO" 
      After="PublishProduct">NOT INSTALLED</Custom> 
</InstallExecuteSequence> 

錯誤:沒有反應。

第二個例子:用cmd替換開始
錯誤:沒有反應。

第三個例子:有MSIEXEC和MSIEXEC更換起動/ I
錯誤:MSIEXEC幫助屏幕和「沒有發現任何微星給exec」

第四個例子:<Custom action id="RunOutlookVSTO" etc>
錯誤:不定製編譯理解。

編輯: 似乎有點混亂,只是要清楚 - 是我嘗試了註冊表項,它被Office應用程序(Outlook,Word,Excel)忽略。

<RegistryKey Action="none" Root="HKLM" Key="SOFTWARE\Microsoft\Office\14.0\User Settings\"> 
      <RegistryKey Id="CreateVSTOOutlook" Action="createAndRemoveOnUninstall" 
         Key="OUR.Outlook2010AddIn\Create\Software\Microsoft\Office\Outlook\Addins\OUR.Outlook2010AddIn"> 
       <RegistryValue Id="CmdLineOutlook" Name="CommandLineSafe" Value="1" Type="integer"></RegistryValue> 
       <RegistryValue Id="descOutlook" Name="Description" Value="Tilføjelsesprogram til Outlook 2010" Type="string"></RegistryValue> 
       <RegistryValue Id="nameOutlook" Name="FriendlyName" Value="Outlook 2010 AddIn" Type="string"></RegistryValue> 
       <RegistryValue Id="LoadOutlook" Name="LoadBehavior" Value="3" Type="integer"></RegistryValue> 
       <RegistryValue Id="manifestOutlook" Name="Manifest" Value="[INSTALLDIR]OUR.Outlook2010AddIn.vsto|vstolocal" Type="string"></RegistryValue> 
      </RegistryKey> 
      </RegistryKey> 

任何想法接下來我可以嘗試嗎?

+0

可能[我如何使用WIX自動安裝VSIX軟件包](http://stackoverflow.com/questions/6423507/how-can-i-install-a-vsix-package-automatically-with-wix) –

+0

此外,WiX 3.6開箱即可使用此功能(請參閱VsixPackage元素) –

回答

0

Vsto插件不是您可以執行的獨立程序。他們是得到加載,然後由各自的辦公室程序通過一個特殊的引導程序調用的dll。

在你的情況下,開始OUTLOOK應該加載插件(如果它正確註冊)。別的什麼都不會。

- 編輯 -

的.vsto文件擴展名獲取與VstoInstaller.exe這是你嘗試運行程序相關聯。請注意,vsto文件不是程序,因此無法執行/運行。它是由vstoinstaller(程序)理解的配置文件。

對於缺省安裝VSTOInstaller.exe可以

C:\Program Files\Common Files\microsoft shared\VSTO\10.0\VSTOInstaller.exe

發現它有一個/ help開關,但安裝語法是:

VSTOInstaller.exe /i \servername\foldername\AddIn.vsto

更多信息請參見this msdn link

+0

對不起,在我安裝/複製粘貼dll和文件夾之後,我已經手動執行了vsto。在過去,是的,我有一個註冊表鍵,它被Outlook和其他辦公室的API所認可,因此被整合進去。現在,不是那麼多,他們忽略了相同的註冊表項。 – DoStuffZ

+0

我不清楚:你如何'手動執行'一個'vsto'?他們是DLL不是EXE的。你可以更具體地說明你需要通過從wix執行它們來完成什麼。它是否與您的安裝似乎沒有正確註冊vsto解決方案並且它不在Outlook中顯示的問題有關? – Eddy

+0

我雙擊或選擇並按VSTO上的Enter鍵。在將文件複製到相關文件夾後,我期望在Outlook(和其他文件夾)中具有插件功能。直到我執行了VSTO,這種事情纔會發生。 – DoStuffZ

相關問題