NSIS中使用批處理方式註冊Dll到GAC的方法

2022-03-22 07:42:30 字數 875 閱讀 8750

最近做了乙個小程式,需要使用到第三方dotnet控制項,使用nsis製作安裝程式。

需要註冊dll到gac,想到兩種解決方案:

1、在nsis中編寫function

思路:1)獲取framework安裝路徑;

2)呼叫gacutil註冊dll

這種思路實現的前提是需要熟悉nsis的語法。

2、在nsis中呼叫bat,由bat完成註冊

這種方法較為簡單,但是也會有一些問題。

思路:1)把需要註冊的dll放到乙個資料夾下;

2)編寫註冊批處理檔案(reg.bat);

3)在nsis中新增指令碼

execwait 'reg.bat'。

剛開始,怎麼都不執行bat,排除了各種問題,最後發現是安裝路徑的原因,由於安裝路徑中存在「program files」,批處理無法識別路徑。

最終,使用雙引號解決。

bat檔案內如如下:

@echo

offcolor a

dir/s /

b *.

dll>.

txtfor/f

"delims=

"%%i in

(.txt)do

(echo

正在註冊%%i

,請稍候

...gacutil /i

"%%i")

del.

txt /a

/f /q

echo

註冊完成

,按任意鍵退出

...pause

>

nul

exit

gacutil /i "%%i" 注意這裡的雙引號!

Windows批處理方式實現MySQL定期自動備份

對mysql資料庫而言,大部分資料庫工具都具有備份功能,但並不能做到定期自動備份,在windows環境下,手工備份mysql是很繁瑣的,所以我們通過mysql提供的備份命令mysqldump,結合windows的任務計畫程式來實現資料庫定期自動備份。新建乙個批處理檔案,如 mysql backup ...

批處理中使用vbs

批處理中使用vbs 1 列舉自啟動的服務 echo for each sc in getobject winmgmts root cimv2 win32 service instances sc.vbs echo if sc.startmode auto then wscript.echo sc.n...

批處理檔案 bat檔案 註冊dll批量註冊dll

1 註冊 echo 開始註冊 net stop iisadmin y echo 跳轉到當前批處理檔案路徑 cd dp0 copy dynamicgif.dll windir system32 regsvr32 windir system32 dynamicgif.dll s copy imageol...