1)
安裝時使用者許可權的判斷
使用 msi 程式進行安裝時,一般要進行使用者許可權 的判斷,可以使用內建的屬性 privileged 進行判斷,也可以通過設定 package 的相關屬性進行判斷。
privileged 屬性
privileged
當使用者不具備管理員許可權時,安裝停止並給出提示訊息。
使用 package 屬性設定,一般來說有 2 中安裝方式,面向使用者和面向機器。
面向使用者指的是所有使用者下均進行 安裝,而不需要操作許可權,即所有的使用者均可安裝、解除安裝。而面向機器指的是要求一定的管理員許可權來安裝或解除安裝程式。
wix 中的**為:
installscope
為 permachine 時面向機器,為 peruser 時為面向使用者。
2)
patch更新方式實現
對於少量檔案的更新, wix 提供了 patch 的方式進行更新,不需要對所有的安 裝原始檔進行覆蓋,僅僅選擇更新後的檔案進行安裝。
具體流程為:
準備 2 分安裝原始檔,乙份為原始的,乙份為更新 後的檔案
分別對 2 分安裝原始檔進行 build 操作,得到不同的 msi 安裝檔案
使用 torch.exe 和 pyro.exe 工具對 2 份 msi 檔案進行分析,得到兩者之間的不同,整 理出 patch 安 裝檔案
例項:product.wxs
:<?xml version="1.0" encoding="utf-8"?>
">
patch.wxs
:<?xml version="1.0" encoding="utf-8"?>
">
"displayname="sample patch"
description="small update patch"
classification="update"
>
cmd 命令依次為:
candle.exe -dversion=1.0 product.wxs
light.exe product.wixobj -out 1.0\product.msi
candle.exe -dversion=1.1 product.wxs
light.exe product.wixobj -out 1.1\product.msi
torch.exe -p -xi 1.0\product.wixpdb 1.1\product.wixpdb -out patch\diff.wixmst
candle.exe patch.wxs
light.exe patch.wixobj -out patch\patch.wixmsp
pyro.exe patch\patch.wixmsp -out patch\patch.msp -t rtm patch\diff.wixmst
最後得到的 msp 檔案即為 patch 更新檔案。
3)
安裝程式版本控制問題
在安裝程式更新時,假如 product 的 id 沒有改變,則表明該安裝程式不允許多個 版本共存。
一般 msi 程式更新時,都需要用到 upgradecode ,這個屬性是安裝程 序更新唯一標示。
4)
序列號驗證機制的加入
"123" and cdkeycheck = "yes"]]>
自定義乙個安裝對話方塊,然後使 用 type 為 text 的 control 控制項,採用乙個公用屬性 cdkey 獲得使用者輸入的 cdkey ,然後定義乙個 customaction ,對 cdkey 進行判斷即可。此處將 cdkey 限定為 123 。
更多使用者資訊要求的對話方塊:
" "
cd &key:
1
1 costingcomplete = 1
productid
1please enter your customer information
customer information
(選自 wix tutorial )
5)
如何給本機所有使用者安裝桌面快捷方式和開始選單項
installscope 設定為 permachine 即可。
Wix學習整理(6) 安裝快捷方式
通常我們安裝乙個應用軟體的時候,都喜歡在桌面或開始選單中新增快捷方式以便我們快速訪問。現在我們就在上篇新增註冊資訊的基礎上為helloworld的安裝包新增安裝快捷方式。下面我們將以安裝開始選單快捷方式為例項詳細地闡述一下wix的關於安裝快捷方式的基礎知識。開始選單快捷方式的安裝目錄結構與應用軟體的...
Wix學習整理(5) 安裝時填寫登錄檔
登錄檔是mircrosoft windows中的乙個重要的資料庫,用於儲存系統和應用程式的設定資訊。詳細介紹參考維基百科 登錄檔。通過工具windows作業系統自帶工具regedit.exe即可對登錄檔進行新增 刪除 修改等操作。登錄檔有五種分支 hkmu hkcr hkcu hklm和hku。下面...
Wix學習整理(5) 安裝時填寫登錄檔
一 microsoft作業系統的登錄檔 登錄檔是mircrosoft windows中的乙個重要的資料庫,用於儲存系統和應用程式的設定資訊。詳細介紹參考維基百科 登錄檔。通過工具windows作業系統自帶工具regedit.exe即可對登錄檔進行新增 刪除 修改等操作。登錄檔有五種分支 hkmu h...