最近做了乙個小程式,需要使用到第三方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檔案內如如下:
@echooffcolor 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...