前言:之前兩個版本都是使用的WixUI_InstallDir前言後來考慮到用戶經常安裝在系統目錄或是根目錄,所以第一個變更是取消目錄選擇,使用默認目錄;最近360的認證規則刷新了一次,開機啓動(非用戶選擇)變成了病毒,所以第二個變更便是加入複選框,讓用戶知曉並有選擇的權利。下面就是解決這兩個問題的經歷:
變更一:取消目錄選擇
啥都沒變直接改爲WixUI_Minimal,最後效果不甚理想:
授權說明並未顯示出來,非得鼠標滑過或是拖動滾動條才能顯示出來。沒太多時間研究原因,直接在WixUI_InstallDir的基礎上修改,具體可查看
具體修改如下:
複製一份WixUI_InstallDir.wxs,改個名字,去掉目錄選擇對話框,修改一下”上一步下一步”的關聯,就可以達到效果
變更二:開機啓動
官網有個例子是安裝完之後啓動程序,HowTo: Run the Installed Application After Setup
我稍微做了寫調整以適應之前的工程:
<UI>
<UIRef Id="WixUI_brd" />
<UIRef Id="WixUI_ErrorProgressText" />
<Publish Dialog="ExitDialog"
Control="Finish"
Event="DoAction"
Value="startup">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 andNOT Installed</Publish>
</UI>
<PropertyId="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="允許開機啓動,以便網頁可以任性拉起助手。" />
<Property Id ="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value = "1" />
<CustomAction Id="startup"FileKey='startupEXE' ExeCommand='' Return='asyncNoWait' Impersonate="yes" />
說明:<UIRef Id="WixUI_brd" />是解決第一個變更的;<Publish >是點完成之後寫註冊表(開機啓動);指定WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT是用於在完成界面顯示一個CheckBox;指定WIXUI_EXITDIALOGOPTIONALCHECKBOX的值爲1表示CheckBox默認是選中狀態。
看下圖就知道怎麼顯示出CheckBox:
只有定義了WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT,在完成界面上才顯示CheckBox。
具體寫註冊表的動作就放在exe 或是dll裏面