none
關於setup project RRS feed

  • 問題

  • 請問,我在build project時

    發現,雖然有把.dll包進去

    但實際install時,程式還是會去讀c底下的.dll

    請問該如何改.dll的路徑哩?
    2006年10月19日 下午 02:59

解答

  • .Net 可以同時用三種 dll ,如果是 .Net 建立的 dll ,除非你有特別發布為 COM dll ,否則皆為 3. .Net Managed DLL

    你可以看線上手冊:

    ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.cht/dv_fxdeploy/html/772ac6f4-64d2-4cfb-92fd-58096dcd6c34.htm

    執行階段如何找出組件

    註:如果你沒有做成全域組件或是設定為遠端組件的話,預設應該放在執行檔目錄下的 bin 子目錄內。

    2006年10月19日 下午 05:21
    版主
  • 1. 自己做的 DLL,把它放在應用程式目錄中 .
    2. 系統的 DLL(.NET Framework, VSTO Runtime),則請使用 merge module 來包含到專案中,或者使用轉散佈檔案,要求使用者安裝 .
    3. 偵測使用者有沒有安裝 Excel,沒有就取消安裝 .
    2006年10月20日 上午 02:06
    版主

所有回覆

  • dll 有三種 (不是斯斯 ...)

    1. 函數型 dll
    2. COM dll
    3. .Net Managed dll

    你是哪一種?

    MSDN 上有說明每一種的預設讀取方式有哪些路徑。

    2006年10月19日 下午 03:17
    版主
  • 我想是第一種斯斯吧.....

    呵呵

    都是一些呼叫.NET Framework裡的.dll哩 !

    2006年10月19日 下午 03:55
  • .Net 可以同時用三種 dll ,如果是 .Net 建立的 dll ,除非你有特別發布為 COM dll ,否則皆為 3. .Net Managed DLL

    你可以看線上手冊:

    ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.cht/dv_fxdeploy/html/772ac6f4-64d2-4cfb-92fd-58096dcd6c34.htm

    執行階段如何找出組件

    註:如果你沒有做成全域組件或是設定為遠端組件的話,預設應該放在執行檔目錄下的 bin 子目錄內。

    2006年10月19日 下午 05:21
    版主
  • HI,

    請問是那一種開發工具的安裝專案, 您是如何將DLL加入到專案的?

    tihs

    2006年10月20日 上午 12:18
  • 你好

    我是使用Visual Studio .NET 2005裡的setup project

    好像在包的同時,它會把使用到的.dll自動包入

    2006年10月20日 上午 12:24
  • 註:如果你沒有做成全域組件或是設定為遠端組件的話,預設應該放在執行檔目錄下的 bin 子目錄內

    這點我覺得很奇怪,因為我是create Excel 的project

    我build時,都會產生在bin/debug,bin/release這二個目錄裡,在此Excel project都沒看到我會去使用到.NET 的.dll

    是不是我那裡沒設定好,才讓它們一直去抓.NET 底下的.dll嗎?

    2006年10月20日 上午 12:30
  • HI,

    您的DLL是自己製作的? 還是系統提供的?

    tihs

    2006年10月20日 上午 01:01
  • 你好

    只有一個.dll是我自己作,它與EXCEL一同放在bin/release裡

    其他都是.NET Framework 2.0的.dll,還有VSTO的.dll
    2006年10月20日 上午 01:24
  • 1. 自己做的 DLL,把它放在應用程式目錄中 .
    2. 系統的 DLL(.NET Framework, VSTO Runtime),則請使用 merge module 來包含到專案中,或者使用轉散佈檔案,要求使用者安裝 .
    3. 偵測使用者有沒有安裝 Excel,沒有就取消安裝 .
    2006年10月20日 上午 02:06
    版主
  • 小朱感謝您的回應

    我的問題主要是security policy的問題,因為我包成setup file後,在install完時,去開啟Excel,它會呼叫我自己作的.dll及.NET Framework, VSTO的.dll。

    但我在install時,那些.dll有同時被安裝至Excel所屬的目錄裡,但感覺Excel還是會去呼叫C底下的.dll,所以會有安全性的問題。

    我本來想是不是.dll路徑的問題,如果正常讀本身目錄的.dll也許就不會有安全性的問題,或著是作一個policy file去給.NET Framework讀取開放本目錄的安全性,請問有什麼方法可以解決我這個問題嗎。謝謝!
    2006年10月20日 上午 03:03
  • 你可能要在安裝專案中加入執行安全設定的指令 .

    你可參考 caspol.exe 工具的參數 .

    2006年10月20日 上午 03:06
    版主
  • 你好

    這個方案我之前有想過,但請教一下

    caspol.exe不是包在.NET FrameWork 2.0 SDK裡的嗎?

    如果我沒灌SDK的話,要怎麼去執行此命令?
    2006年10月20日 上午 03:11
  • caspol.exe 會包含在 .NET Framework Runtime 轉散佈檔案中 .
    所以你不必擔心 .
    2006年10月20日 上午 05:17
    版主