我正在研究c#+ vsto項目。我們使用vsto創建並驗證了excel模板。 我最近發現了1件有趣的事情。爲64位系統創建安裝程序的問題
在32位系統中,軟件被安裝在
C:\ Program Files文件
但64位系統上, 它被安裝在
C: \ Program Files(x86)
當我嘗試
情況一: 在64位系統上打開excel文件(它是在32位系統上創建的)。
情況II: 開口練成在32位系統
文件(這是在64位的系統創建)我得到的系統上的異常。
這是因爲相應的DLL存儲在不同的位置。
爲32位指
C:\ Program Files文件
位和64位是指
C:\程序文件(x86)
有什麼辦法可以強制安裝程序安裝軟件C:\ Program Files文件 64位系統,而不是在Ç安裝它:\ Program Files文件(x86)的
任何幫助嗎?
關於。
當我在32位系統上安裝我的應用程序並生成模板時,它會在模板中存儲DLL的路徑,但是當我嘗試在64位系統上打開該Excel模板時,它會搜索* Program Files *但該DLL存在於* Program Files(x86)*文件夾中,並且我收到了一個異常,我希望現在清除它。 – 2011-05-12 10:59:25
您應該使用.net中的特殊文件夾類來查找程序文件目錄。即使你把它放在'Program Files'中,如果用戶的系統驅動器是'D',所以程序文件夾是'D:\ Program Files',它可能會失敗。那非本地化名稱的非英語安裝呢?最佳做法是在安裝時說明你的DLL文件的安裝位置,並從那個位置加載它們來編寫註冊表項。 – 2011-05-12 11:02:59
@ David:Excel模板如何從註冊表中找到相應的DLL引用? – 2011-05-17 09:21:51