!define product_name "aaa"
!define product_version "3.0.1.1965"
!define product_publisher "bbb"
!define product_uninst_key "software\microsoft\windows\currentversion\uninstall\$"
!define product_uninst_root_key "hklm"
setcompressor lzma
!include "mui.nsh"
!include "strfunc.nsh"
!include "library.nsh"
!include "wordfunc.nsh"
!define mui_abortwaring
!define mui_icon "bin\system\icon\aaa.ico"
!define mui_welcomepage_title "歡迎使用「aaa」安裝嚮導"
!define mui_welcomepage_text "\r\n這個安裝嚮導將指引你完成「aaa」的公升級安裝過程。\r\n\r\n開始安裝前,建議先關閉其他所有應用程式。這將允許「公升級程式」更新指定的系統問件,而不需要重新啟動計算機。\r\n\r\n$_click"
!insertmacro mui_page_welcome
!insertmacro mui_page_license "license.rtf"
!insertmacro mui_page_instfiles
!insertmacro mui_page_finish
!insertmacro mui_language "simpchinese"
name "aaa"
outfile "upgrade_x86.exe"
installdir "$programfiles\aaa"
showinstdetails show
showuninstdetails show
brandingtext "hahaha..."
brandingtext "nsis"
section -post
setregview 32
writeregstr $ "$" "displayversion" "$"
setregview lastused
sectionend
section -upgrade
setdetailsprint textonly
detailprint "正在更新程式元件..."
;setdetailsprint none
setautoclose true
setoutpath "$instdir"
setoverwrite on
file /r "update_x86\*.*"
sectionend
function .oninit
;禁止多個安裝程式同時執行
system::call 'kernel32::createmutexa(i 0, i 0, t "vaupdate") i .r1 ?e'
pop $r0
strcmp $r0 0 +3
messagebox mb_ok|mb_iconexclamation "公升級程式已經在執行。"
abort
;判斷是否已安裝過aaa
clearerrors
strcpy $r1 ""
readregstr $r1 $ $ "uninstallstring"
strlen $0 $r1
$ $0 < 1
;沒有安裝了軟體
messagebox mb_ok|mb_iconexclamation "您未安裝本軟體,不能使用此公升級程式!"
;退出安裝程式
abort
$!insertmacro versioncompare
;讀取已安裝軟體版本,放在$r2中
readregstr $r2 $ $ "displayversion"
;比較已安裝軟體和待安裝軟體的版本,並把結果放在$1中,結果有三個,1,2,和0
$ "$r2" "$" $1
strcmp $1 "1" 0 +3
messagebox mb_ok "待安裝版本比已安裝版本低"
abort
strcmp $1 "0" 0 +3
messagebox mb_ok "待安裝版本和已安裝版本一樣"
abort
$functionend
RK公升級包製作記錄
執行任務效果 會在乙個基礎包上面,生成乙個全量包和乙個差分包,步驟如下 1 make j24 編譯原始 包 2 mkimage.sh ota 在rockdev目錄下生成相應img 3 make otapackage 生成原始完整包 4 把原始完整包改名,備用後面生成差異包 mv out target...
Ubuntu常用公升級包
在ubuntu上用公升級的方法可以迅速地安裝gcc sudo apt get install g 輸入管理員密碼後,就可以安裝g 了 安裝完成後,執行 gcc v 可以看到安裝的gcc的版本號。同樣地安裝mysql sudo apt get install mysql server sudo apt...
pip 批量公升級包
pip 可以使用如下指令檢視並公升級舊版本包 列出所有的舊版本包 pip list outdated 公升級指定的包 pip install upgrade somepackge然而pip install upgrade somepackge只能公升級乙個包,無法批量操作。實際上,可以借助pip r...