日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Wix学习整理(2)——HelloWorld安装添加UI

發布時間:2024/8/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Wix学习整理(2)——HelloWorld安装添加UI 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在前一篇隨筆Wix學習整理(1)——快速入門HelloWorld中,我們制作的安裝包安裝界面太簡單,沒有與用戶進行交互的過程。下面我們修改Wix源文件來給安裝程序添加UI。

1 Wix的預定義UI簡介

Wix toolset提供的WixUIExtension.dll包(在目錄C:\Program Files\WiX Toolset v3.6\bin下)中提供了五種UI對話框集合,分別是WixUI_Advanced、WixUI_FeatureTree、WixUI_InstallDir、WixUI_Minimal和WixUI_Mondo。下面分別對這五種預定義UI對話框集合進行簡單的說明。

WixUI_Advanced對話框集合

WixUI_Advanced提供了與WixUI_Minimal類似的一鍵安裝形式。不過其在協議界面提供了配置高級選項的按鈕。在高級選項中,我們可以選擇該產品是安裝給當前用戶還是給所有用戶的,在Wix文件中需要一個Id為“WixAppFolder”的屬性(Property),指定默認選擇當前用戶(WixPerUserFolder)還是所有用戶(WixPerMachineFolder)。另外,需要一個Id為“ApplicationFolderName”的屬性來指定產品所安裝在的默認文件夾。

<Property Id=”ApplicationFolderName” Value=”HelloWorld” /> <Property Id=”WixAppFolder” Value=”WixPerUserFolder” /> <UIRef Id=”WixUI_Advanced” />

WixUI_FeatureTree對話框集合

WixUI_FeatureTree與WixUI_Mondo的區別是WixUI_FeatureTree省略了安裝類型對話框。協議同意對話框之后就直接到部件(Feature)選擇對話框了。當我們的產品默認是安裝所有部件時,更推薦采用WixUI_Feature而不是WixUI_Mondo。其用法是:

<UIRef Id=”WixUI_FeatureTree” />

WixUI_InstallDir對話框集合

WixUI_InstallDir不支持用戶選擇安裝的部件,但是其增加了讓用戶選擇安裝目錄的對話框。在Wix文件中需要一個Id為“WIXUI_INSTALLDIR”的屬性來產品要安裝的目錄的ID(ID必須是全部大寫,大寫的目的是為了能夠讓用戶在對話框中選擇的自定義目錄能夠回寫到相對應ID的Directory元素)。其在下面的用例中的用法是:

<Property Id=”WIXUI_INSTALLDIR” Value=”INSTALLFOLDER” /> <UIRef Id=”WixUI_InstallDir” />

WixUI_Minimal對話框集合

WixUI_Minimal是最小的預定義對話框集合,其將Welcome對話框和協議同意對話框結合,選擇協議后就直接安裝了。這種對話框集合適用于我們的產品沒有自定義部件以及不支持變更安裝目錄的情況。其用法是:

<UIRef Id=”WixUI_Minimal” />

WixUI_Mondo對話框集合

WixUI_Mondo提供了Welcome、協議同意、安裝類型選擇、部件選擇等自定義安裝的對話框,但其不支持安裝目錄的變更。當我們的產品默認情況下不安裝全部部件時,這樣典型安裝(typical)和完全安裝(complete)之間就有個明顯的區別,此時推薦使用WixUI_Mondo。其用法是:

<UIRef Id=”WixUI_Mondo” />

下面我們的用例就設置WixUI_Mondo對話框集合。

2 制作帶UI界面的HelloWorld.msi

修改Product.wxs文件,內容如下

1 <?xml version="1.0" encoding="UTF-8"?> 2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 3 <Product Id="*" Name="HelloMSI" Language="1033" Version="1.0.0.0" Manufacturer="LEH" UpgradeCode="1de12ee7-2e94-42ac-979f-06245a0ade30"> 4 <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 5 <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> 6 7 <Directory Id="TARGETDIR" Name="SourceDir"> 8 <Directory Id="ProgramFilesFolder"> 9 <Directory Id="INSTALLFOLDER" Name="HelloWorld"> 10 <Component Id="ProductComponent" Guid="B5F0C012-49D6-4C63-AFCA-0CE6C24C6D7D"> 11 <File Id="HelloWorld" Source="HelloWorld.exe" /> 12 </Component> 13 </Directory> 14 </Directory> 15 </Directory> 16 17 <Feature Id="ProductFeature" Title="HelloWorld" Level="1"> 18 <ComponentRef Id="ProductComponent" /> 19 </Feature> 20 21 <UIRef Id="WixUI_Mondo" /> 22 </Product> 23 </Wix>

相對比之前的Product.wxs文件,這個文件只是添加了上面標紅的<UIRef Id=”WixUI_Mondo” />一行語句而已。若想使用其他的預定義對話框集合,只需將紅色語句變更為相應對話框集合的用法語句即可。

下面開始編譯和鏈接該文件以生成.msi文件。編譯命令還是不變,

candle Product.wxs

鏈接的命令為

light Product.wixobj –out HelloWorld.msi –ext "C:\Program Files\WiX Toolset v3.6\bin\WixUIExtension.dll"

其中-ext選項指定了特定的擴展包WixUIExtension.dll,其運行結果如下,

?

編譯和鏈接后,在文件Product.wxs所在目錄即生成了HelloWorld.msi文件。

3 驗收我們的成果

雙擊HelloWorld.msi文件,可以看到如下安裝的交互界面,?

選擇Typical,然后Next,

完工!現在HelloWorld.exe文件已成功安裝在目錄C:\Program Files\HelloWorld下。

轉載于:https://www.cnblogs.com/lienhua34/archive/2012/10/08/2714654.html

總結

以上是生活随笔為你收集整理的Wix学习整理(2)——HelloWorld安装添加UI的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。