2009-07-17 67 views
2

我在這裏發佈了一篇文章(How do I set permissions on my VSTO outlook add-in?),我能夠構建我的安裝程序。我認爲一旦安裝程序自己建立,一切都會正常工作。VSTO:將加載項安裝到Outlook Office 2003中

我錯了。它可以在我運行安裝程序的大約一半PC上運行。我的問題是另一半不起作用。我試圖安裝一個加載項到Outlook Office 2003中。

我甚至已經使用批處理文件手動創建了這些步驟。在這些PC上似乎沒有任何工作,我找不到一個可以排除的共同點,或者使VSTO Addin工作。

這是我正在使用的批處理文件。我在做什麼/沒有做錯這個?

我真的可以使用VSTO專家的幫助。謝謝!!!!

編輯我已經更改了批處理文件和註冊表設置,以反映它們的最新更新。我還附上了來自不起作用的PC的錯誤文本。

@echo off 

echo Installing Visual Studio for Office Runtime (SE 2005)... 
..\VSTO\vstor.exe 

echo Creating Directories... 
mkdir "c:\program files\Project Archiver" 

echo Installying Add-In... 
echo Copying files... 
xcopy /Y *.dll "c:\program files\Project Archiver" 
xcopy /Y *.manifest "c:\program files\Project Archiver" 

echo Setting Security... 
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe" -polchgprompt off 
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe" -u -ag All_Code -url "c:\program files\Project Archiver\ProjectArchiver.dll" FullTrust -n "Project Archiver" -d "Outlook plugin for archiving" 
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe" -u -ag All_Code -url "c:\program files\Project Archiver\Microsoft.Office.Interop.SmartTags.dll" FullTrust -n "Project Archiver" -d "Outlook plugin for archiving" 
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe" -polchgprompt on 

echo Loading Registry Values... 
"c:\program files\Project Archiver\VSTO_settings.reg" 

echo "That should do it." 
pause 

我從這個應用程序工作的PC直接從註冊表設置(在上面的批處理文件中提到)。我使用的VSTO註冊表設置:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\ProjectArchiver\CLSID] 
@="{27830B8D-F7A1-4945-AC4A-47661B9ED36D}" 

[HKEY_CLASSES_ROOT\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}] 
@="ProjectArchiver -- an addin created with VSTO technology" 

[HKEY_CLASSES_ROOT\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\InprocServer32] 
@=hex(2):25,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,50,00,72,00,6f,00,67,00,72,\ 
    00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,4d,00,69,00,63,00,\ 
    72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,53,00,68,00,61,00,72,00,65,00,64,\ 
    00,5c,00,56,00,53,00,54,00,4f,00,5c,00,38,00,2e,00,30,00,5c,00,41,00,64,00,\ 
    64,00,69,00,6e,00,4c,00,6f,00,61,00,64,00,65,00,72,00,2e,00,64,00,6c,00,6c,\ 
    00,00,00 
"ManifestName"="ProjectArchiver.dll.manifest" 
"ThreadingModel"="Both" 
"ManifestLocation"="C:\\Program Files\\Project Archiver\\" 

[HKEY_CLASSES_ROOT\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\ProgID] 
@="ProjectArchiver" 

[HKEY_CLASSES_ROOT\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\Programmable] 

[HKEY_CLASSES_ROOT\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\VersionIndependentProgID] 
@="ProjectArchiver" 

[HKEY_CLASSES_ROOT\ProjectArchiver] 
@="" 





[HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}] 
@="ProjectArchiver -- an addin created with VSTO technology" 

[HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\InprocServer32] 
@=hex(2):25,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,50,00,72,00,6f,00,67,00,72,\ 
    00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,4d,00,69,00,63,00,\ 
    72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,53,00,68,00,61,00,72,00,65,00,64,\ 
    00,5c,00,56,00,53,00,54,00,4f,00,5c,00,38,00,2e,00,30,00,5c,00,41,00,64,00,\ 
    64,00,69,00,6e,00,4c,00,6f,00,61,00,64,00,65,00,72,00,2e,00,64,00,6c,00,6c,\ 
    00,00,00 
"ManifestName"="ProjectArchiver.dll.manifest" 
"ThreadingModel"="Both" 
"ManifestLocation"="C:\\Program Files\\Project Archiver\\" 

[HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\ProgID] 
@="ProjectArchiver" 

[HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\Programmable] 

[HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{27830B8D-F7A1-4945-AC4A-47661B9ED36D}\VersionIndependentProgID] 
@="ProjectArchiver" 

[HKEY_LOCAL_MACHINE\Software\Classes\ProjectArchiver] 
@="" 

[HKEY_LOCAL_MACHINE\Software\Classes\ProjectArchiver\CLSID] 
@="{27830B8D-F7A1-4945-AC4A-47661B9ED36D}" 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\Addins\ProjectArchiver] 
"Manifest"="C:\\Program Files\\Project Archiver\\ProjectArchiver.dll.manifest" 
"LoadBehavior"=dword:00000003 
"FriendlyName"="ProjectArchiver" 
"Description"="ProjectArchiver -- an addin created with VSTO technology" 
"CommandLineSafe"=dword:00000001 

我得到的錯誤是:

無法加載文件或程序集「Microsoft.Office.Interop.Outlook,版本= 11.0.0.0,文化=中立,PublicKeyToken = 71e9bce111e9429c'或其依賴項之一。該系統找不到指定的文件。

************** Exception Text ************** 
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Office.Interop.Outlook, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified. 
File name: 'Microsoft.Office.Interop.Outlook, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' 
    at ProjectArchiver.ThisAddIn.Initialize() 
    at Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.CreateStartupObject(EntryPoint entryPoint, Dependency dependency, Assembly objectAssembly) 
    at Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.ConfigureAppDomain() 
    at Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.LoadAssembliesAndConfigureAppDomain(IHostServiceProvider serviceProvider) 
    at Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.LoadEntryPointsHelper(IHostServiceProvider serviceProvider) 

WRN: Assembly binding logging is turned OFF. 
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. 
Note: There is some performance penalty associated with assembly bind failure logging. 
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. 



************** Loaded Assemblies ************** 
mscorlib 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.3082 (QFE.050727-3000) 
    CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll 
---------------------------------------- 
Microsoft.VisualStudio.Tools.Applications.Runtime 
    Assembly Version: 8.0.0.0 
    Win32 Version: 8.0.50727.816 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualStudio.Tools.Applications.Runtime/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualStudio.Tools.Applications.Runtime.dll 
---------------------------------------- 
Microsoft.Office.Tools.Common 
    Assembly Version: 8.0.0.0 
    Win32 Version: 8.0.50727.816 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.Office.Tools.Common/8.0.0.0__b03f5f7f11d50a3a/Microsoft.Office.Tools.Common.dll 
---------------------------------------- 
System 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll 
---------------------------------------- 
System.Windows.Forms 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll 
---------------------------------------- 
ProjectArchiver 
    Assembly Version: 1.0.0.0 
    Win32 Version: 1.0.0.0 
    CodeBase: file:///C:/Program%20Files/Callidus/Project%20Archiver/ProjectArchiver.DLL 
---------------------------------------- 
+0

對於那些有興趣的人,我已經注意到我必須採取的所有步驟才能完成這項工作: http://www.jerryandcheryl.net/jspot/2009/07/vsto-with-outlook-2003。 html – Jerry 2009-07-22 16:03:50

+0

傑裏的鏈接已被移至http://jspot.jerryhanel.com/2009/07/21/vsto-with-looklook-2003/ – Keith 2012-04-30 18:10:31

回答

3

好的,顯然AddIn被Outlook自動禁用。另一個答案略有不同的採取:

轉到開始 - >控制面板 - >系統 - >高級 - >環境 變量 - >系統變量,並添加值爲0的VSTO_SUPPRESSDISPLAYALERTS。這將顯示錯誤消息屏幕,而不是默默禁用VSTO。如果您希望將日誌記錄到磁盤,請添加VSTO_LOGALERTS並將其設置爲1。

希望這會爲您提供一些額外的細節,可以幫助我們解決您的問題!

2

要開始使用一些小事:在電腦裏的東西沒有工作,你檢查註冊表,以查看是否被正確添加的所有條目?例如,.bat文件是否在實際允許寫入HKEY_CLASSES_ROOT的帳戶下運行?

這些電腦的任何運行Vista?難道他們是在沒有UAC的情況下運行Office套件,還是使用完整的管理員帳戶?在這種情況下,條目應添加到HKEY_LOCAL_MACHINE。

編輯

好吧,如果你確信的東西添加到註冊表正確,接下來是RegMon(或將procmon如果你這麼喜歡)。啓動regmon,啓動辦公室主機應用程序,並查看它在哪裏,而不是在尋找VSTO加載項。從基於你的加載項名稱的過濾器開始,然後根據數據量擴大或縮小範圍。

+0

感謝您的鏈接。爲了完成這個任務,我一直在扭結自己。回答你的問題: 1)用戶是管理員在自己的盒子。 2)我已經把事情從HKCU搬到了HKLM。 3)由於管理員他們能寫信給HKCR。我在幾臺PC上驗證了這些條目。 仍...沒有運氣。我瘋了。 – Jerry 2009-07-20 20:10:05

相關問題