2010-07-27 38 views
0

我有一個應用程序,可以讓我在成功運行的開發PC上掃描圖像。它使用Microsoft Windows圖像採集COM ActiveX dll。我在Windows 7 64位上運行VS2008。通過VS的WIA互操作部署ClickOnce

我在嘗試使用ClickOnce部署Interop dll時遇到問題。通過VS項目以正常方式引用此組件(並複製local = true)。當我在Windows XP機器上安裝應用程序時,出現錯誤提示庫缺失(即未正確安裝/註冊)。查看過System32目錄後,該DLL不在那裏,所以它必須通過我的應用程序進行部署。

尋找在網絡上,並嘗試不同的解決方案之後,我又試圖微軟的「免註冊COM」的方法在這裏:http://msdn.microsoft.com/en-us/library/ms165432%28VS.80%29.aspx

但是,更改隔離屬性爲True則起因於重複的條目在2個編譯錯誤註冊表。已經手動整理了這些條目之後,我再次部署了我的應用程序,並使用了所謂的隔離COM組件,但是當我嘗試掃描文檔時,現在收到以下消息:

'程序入口point_except_handler4_common無法位於動態鏈接庫msvcrt.dll'

我覺得我會圍繞這個圈子。有人能請教我如何通過ClickOnce從XP以後的所有版本的Windows部署WIA interop?

您的幫助將不勝感激。

感謝

回答

1

不要從你的Win7計算機上覆制系統DLL到XP的機器,無法正常工作。如果你命名了這個文件,我會猜測WIA自動化提供商wiaaut.dll。它可能只是沒有安裝在XP機器上。

要求客戶在機器上安裝this download。您不需要免註冊的COM,這些是系統組件。

+0

感謝您的建議,但它並沒有真正回答我的問題 - 我不希望手動安裝應用程序將安裝在每臺PC上的DLL。我想通過我的應用程序的ClickOnce安裝程序部署wiaaut.dll,以防目標機器丟失它。正如無reg註冊的COM所建議的那樣,必須有辦法做到這一點。 – JamesW 2010-07-27 10:36:08

+0

您無法合法分發Windows組件。 – 2010-07-27 10:42:16

+0

好吧...那麼,你是說這個DLL應該已經存在於XP個人電腦上了嗎?如果是這樣,那麼我想我不得不停下手動安裝路線。我已經檢查了幾個其他的XP個人電腦,並且所有這些DLL都沒有了,儘管它們是最新的。我認爲WIA是從Windows ME開始引入的... – JamesW 2010-07-27 10:49:44