[installShield]使用gacutil.exe將.net組件裝到GAC
雖然installShield有提供方法將.net組件裝GAC去,筆者在測試時,卻會發生錯誤!所以只好透過gacutil.exe來將.net組件裝到GAC之中!
gacutil.exe有分.net版本的哦!如.net 1.1版的在Windows\Microsoft.NET\Framework\v1.1.4322的目錄之下,而.net 2.0版的則變成在SDK Bin目錄下(如c:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin)。
所以筆者是先將gacutil.exe及gacutil.exe.config這2個檔案放到了INSTALLDIR之中,也可以放在SUPPORTDIR或是SRCDIR之中哦!
然後再寫個FUNCTION來處理將.net組件將到GAC及從GAC將組件移出了,如下,
export prototype ProcGAC(STRING);
function ProcGAC(szPara1)
STRING szGACPath, szGACPara1, szREGFilePath;
begin
//安裝.net組件
szGACPath = INSTALLDIR ^ "gacutil.exe";
LongPathToQuote(szGACPath, TRUE);
szGACPara1 = szPara1 + " ";
//執行裝到GAC去
szREGFilePath = INSTALLDIR ^ "YOUR.NETDLLPATH\MYNETGAC.dll";
LongPathToQuote(szREGFilePath, TRUE);
LaunchAppAndWait(szGACPath, szGACPara1 + szREGFilePath, LAAW_OPTION_NOWAIT + LAAW_OPTION_HIDDEN);
//........註冊多個
end;
所以我們在使用時,就可以在裝好之後呼叫 ProcGAC("/i");
在安裝程式移除時,呼叫 ProcGAC("/u");
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^