簡體   English   中英

WiX將x86和x64 msi的引導程序刻錄到單個No-UI引導程序中

[英]WiX burn bootstrapping x86 and x64 msi's into single No-UI bootstrapper

我有安裝程序.msi的x64和x86版本,並希望附帶一個可執行文件,該可執行文件僅檢查計算機體系結構並運行x86 / x64 MSI MSI基本相同,它們安裝相同的AnyCPU文件,我將它們捆綁在共享的.cab文件中,以免使安裝程序的大小增加一倍。

到目前為止,我已經嘗試了WiX Burn,它彈出了一個我不需要的GUI(我只想使用MSI GUI),並且我嘗試通過/ silent標志禁用Burn GUI-這會將標志傳播到MSI因此它禁用了所有MSI的GUI(不是我想要的)。

當我說沒有默認的No-GUI版本的Burn bootstrapper時 ,我認為我是正確的,要創建一個默認版本,您必須自己編輯源代碼? 這聽起來像一個巨大的缺失功能?

我也嘗試過DotNetInstaller,它具有一系列令人困惑的用戶界面問題。 我也嘗試過setupbld,它不支持帶有外部駕駛室的MSI。

對於體系結構檢測,您可以在MsiPackage元素中使用InstallCondition屬性。

簡單地說:

<MsiPackage SourceFile="..\Example\bin\Release\x86\example.msi" Compressed="no" InstallCondition="NOT VersionNT64" />
<MsiPackage SourceFile="..\Example\bin\Release\x64\example.msi" Compressed="no" InstallCondition="VersionNT64" />

資料來源: http : //wix.sourceforge.net/manual-wix3/wix_xsd_msipackage.htm

其他答案表明,您可以使用VERSIONNT64變量來檢查要在哪個平台上安裝。

Wix Burn通過傳遞命令行參數“ -q”來支持NO-GUI或安靜模式。

除此之外,它還支持以下其他參數:

wixstdba僅支持“標准軟件包開關”:

-q, -quiet, -s, -silent = silent install 
-passive = progress bar only install 
-norestart = suppress any restarts 
-forcerestart = restart no matter what (I don't know why this is still around) 
-promptrestart = prompt if a restart is required (default) 
-layout = create a local image of the bootstrapper (i.e. download files so they can be burned to DVD) 
-l, -log = log to a specific file (default is controled by bundle developer) 
-uninstall = uninstall 
-repair = repair (or install if not installed) 
-package,-update = install (default if no -uninstall or -repair) 

輸入您的wixburnexename /? 在您的機器上獲取詳細信息。

您可以使用自定義操作和“ 刻錄內置變量”來檢查您是在X86還是x64上運行。 基於此,您可以執行/安排動作列表。

<InstallExecuteSequence>
   <Custom Action="Windows32bitInstall" After="InstallFiles">NOT VersionNT64</Custom>
   <Custom Action ="Windows64bitInstall" After="InstallFiles" >VersionNT64</Custom>
   <Custom Action="InstallHelp" After="Windows64bitInstall">NOT Installed</Custom>
</InstallExecuteSequence>

這將以相同的高度執行。

<CustomAction Id="InstallHelp" Directory="ProgramFilesFolder"
          Execute="deferred" Impersonate="no" Return="ignore"
          ExeCommand="[HELPDIR]\help.exe /log" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM