將開發電腦的組件部屬到安裝電腦GAC中

  • 2501
  • 0

寫了一個win form程式要部屬到電腦通常用使用

setup專案來做,這原本是一件很簡單的事

結果因為我的win form中有使用到oracle的元件,而該元件是註冊到開發電腦的GAC中的

寫了一個win form程式要部屬到電腦通常用使用

setup專案來做,這原本是一件很簡單的事

結果因為我的win form中有使用到oracle的元件,而該元件是註冊到開發電腦的GAC中的

所以我希望使用者安裝完程式之後,也要把我用到的組件安裝到他電腦的GAC中…

當初為了要做這件事搞了我快2天…

上網搜尋結果幾乎都是教使用windows installer做

然後就沒有了,後來又找到使用vbscript實做

也就是在自定動作中加exe或script等

image

選取

image

在這邊有四個步驟,看你要加在哪個步驟都可以。

一開始我也是往這方向想,但是實際做了之後發現也並不簡單

寫vbscript得先找到gacutil.exe的目錄,在找到自己要安裝到部屬電腦中的dll路徑

光這個我就頭痛了,這對我這種vbscript不熟的人來說實在太痛苦了

結果最後自己在

File System中找到超簡單部屬元件到GAC中的方法Orz

image

看到了嗎?

在File System中add一個global assembly cache folder

然後把要部屬到安裝電腦的GAC的元件丟進去就好了

image

直接選取assembly把安裝在你電腦gac中的元件找出來並選取後就會像這樣

image

沒錯,就那麼簡單了

這種方法部屬組件到GAC還有一個優點

就是一般來說你用gacutil來註冊組件有可能被手誤到%windir%/assembly中刪除

但是這種方法一旦將組件註冊到GAC的話

除非程式已經被刪除,不然只要使用者手動去刪除該組件的話

系統就會提示還有其他程式要用到該組件,無法刪除。