如何在刻录(WiX)引导程序中引用RebootPending属性?我知道属性名称是RebootPending,它实际上是在Windows Installer中引用MsiSystemRebootPending属性。
我目前正在尝试这样的事情:
<bal:Condition Message="There is a restart pending. Please restart your computer before attempting to install !(loc.ProductName).">RebootPending = 0</bal:Condition>
Run Code Online (Sandbox Code Playgroud)
但是,即使Windows Update刚刚完成更新并需要重新启动,也总是如此。
我的语法错误吗?我的条件应该改为[RebootPending]吗?
在获知Burn内的RebootPending属性可能与Windows Installer使用的属性不完全对应之后,我还要如何确保我的应用程序在重新引导待处理时不尝试安装?
我需要从单个统一UI安装多个MSI.我还需要一个"功能"树让用户选择要安装的产品.
看过类似的问题后,看起来Burn就是最佳选择.
看看这个,似乎我必须编写一个自定义BA并实现我自己的功能树.它是否正确?
看起来我最终会看到一个自定义UI,它看起来不像MSI的标准UI.当恕我直言,关于MSI的伟大之处在于它们总是向用户呈现相同的UI并且多年来一直这样做,这似乎很可惜.
如果这是要走的路,是否有一个简单的例子可以开始?
wix3.6真的不支持功能树吗?...似乎是一个非常基本和有用的功能有恕我直言...
我使用维克斯刻录安装每个先决条件我们的项目中,我已经使用ManagedBootstrapperApplicationHost有自定义UI,我一直在关注可以从维克斯源代码项目创建我的托管WPF应用程序..
现在的问题是它显示的Progress(消息)与我们在内置UI中使用的进度消息不匹配--WixStandardBootstrapperApplication.RtfLicense
基本上我使用Wix源代码中的以下代码
private void ExecuteMsiMessage(object sender, ExecuteMsiMessageEventArgs e)
{
lock (this)
{
this.Message = e.Message;
e.Result = this.root.Canceled ? Result.Cancel : Result.Ok;
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用与普通进度对话框相同的显示...我是否必须单独设置来自其他方法的消息,如PlanPackage等.
我有一个自定义刻录引导程序应用程序,具有德语(BurnUI_de-DE.wxl)和英语(BURNUI_en-US.wxl)本地化。目前刻录会自动以英文开始。我不知道如何在运行时更改用户界面语言。UI 部分采用 MVVM 模式设计,并具有语言选择下拉菜单。我有一个变量来检测系统语言ID,如下所示
<Variable Name="INSTALL_LANG" bal:Overridable="yes" Type="string" Value=[SystemLanguageID]"/>
Run Code Online (Sandbox Code Playgroud)
一切都已就位。现在,我如何使用这个变量并指示刻录引擎更改语言?此外,有什么本地化引导程序的最佳实践吗?
我为我们的一款产品创造了一个WIX msi,效果非常好.该产品是Word插件,在升级/卸载时,msi会自动检查Word是否已打开(即我的程序集当前已锁定执行),如果是,则会显示"正在使用的文件"对话框.
我想做的唯一改进是在安装时.我想在安装之前检查单词是否打开并强制关闭.使用相同的文件使用UI,这样做会很棒.是否有捷径可寻?
我还使用工具集中的示例代码创建了一个自定义引导程序(非托管).总的来说这也很好,但升级/卸载时遇到了实际问题.理想情况下,我不想使用DisplayInternalUI,但我希望在必要时弹出"正在使用的文件".这可能吗?
我想用我的主要 ms? 提取 .net 4.7 框架先决条件。
但当 ?尝试安装 .net 安装出现错误。
后 ?尝试仅安装 .net 框架。
.net框架安装报错
.net framework 4.7 证书链已处理但在根中终止。
如何使用 Wix 对其进行认证?
<ExePackage
InstallCommand="/q /norestart /ChainingPackage "[WixBundleName]" /log "[NetFx47FullLog].html""
RepairCommand="/q /norestart /repair /ChainingPackage "[WixBundleName]" /log "[NetFx47FullLog].html""
UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]" /log "[NetFx47FullLog].html""
PerMachine="yes"
DetectCondition="!(wix.NetFx47WebDetectCondition)"
InstallCondition="NetFrameWorkCheckbox = 1"
Id="NetFx47Web"
Vital="yes"
Permanent="yes"
Protocol="netfx4"
DownloadUrl="$(var.NetFx47WebLink)"
LogPathVariable="NetFx47FullLog"
Compressed="yes"
Name="!(wix.NetFx47WebPackageDirectory)NDP47-KB3186500-Web.exe"
SourceFile=".\prerequisites\NNDP47-KB3186497-x86-x64-AllOS-ENU.exe"
>
Run Code Online (Sandbox Code Playgroud) 我有一个带有这个链的Burn包:
<Chain>
<PackageGroupRef Id="NetFx40Web"/>
<MsiPackage SourceFile="c:\\My\\Path\\MyMsi.msi"
Id="MyMsi" DisplayName="MyMsi" DisplayInternalUI="yes" Vital="yes">
<MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" />
</MsiPackage>
</Chain>
Run Code Online (Sandbox Code Playgroud)
无论.NET框架和我的MSI文件被正确安装.但是卸载过程中没有卸载MSI软件包(在单击引导程序EXE或程序和功能之后).有没有办法如何强制卸载MSI包?
在VS2012中,我创建了一个WIX Bootstrapper项目(BURN).我将项目命名为"Bootstrapper".现在引导程序工作正常,但我想在不同的东西中更改生成的文件(bootstrapper.exe)的名称.我无法找到此输出文件名称的设置位置.
我正在尝试为WiX和Burn创建自定义UI.除了一件事,我差不多完成了.在升级的安装结束时(对于exaple 1.0.0到1.1.0),先前版本的卸载开始,并显示其UI.我的问题是如何处理这个问题,以便用户最终看不到卸载UI.