Posted on 2008-08-16 12:41
美洲豹 閱讀(787)
評(píng)論(0) 編輯 收藏 引用
原來(lái)以為NSIS用來(lái)制作安裝程序會(huì)很難,后來(lái)通過(guò)一上午的搜索及試驗(yàn)后,發(fā)現(xiàn)用HM NSIS Editor的Wizard基本上可以生成一個(gè)完整的安裝程序,后來(lái)想到OgreSDK也是用NullSoft Installer制作的,查看其源代碼,發(fā)現(xiàn)有個(gè)WriteEnvStr.nsh可以直接拿來(lái)用,這樣的話,可以自己加入程序的環(huán)境變量。如
在用HM NSIS
Editor生成的基本腳本的Section
–Post中加入如下代碼
Push
“OGRE_HOME”
Push
$INSTDIR
Call
WriteEnvStr
#改變Path變量,將dll導(dǎo)入以便運(yùn)行程序
Push
“PATH”
Push
%PATH%$INSTDIR\Dll ;將可執(zhí)行程序的路徑加入。
Call
WriteEnvStr
制作升級(jí)包也容易了,只需要用ReadEnvStr讀環(huán)境變量,然后將安裝路徑設(shè)成所讀的環(huán)境變量。
Function .onInit
ReadEnvStr $R0 "OGRE_HOME"
#MessageBox MB_OK $R0
Strcmp $R0 "" 0 NOABORT
MessageBox MB_OK "沒(méi)有找到之前安裝的OGRE"
NOABORT:
Strcpy $INSTDIR $R0
FunctionEnd
這樣的話,則可以通過(guò)查詢環(huán)境變量判斷是否安裝成功,再安裝升級(jí)包。
原來(lái)以為要自己手動(dòng)寫腳本,后來(lái)發(fā)現(xiàn)用向?qū)Э缮梢粋€(gè)基本可用的腳本,這就方便了。