Wix 在定制的burn应用程序中,如果许可证不匹配,我们怎么能不安装任何东西
我已经使用Wix创建了一个示例自定义burn应用程序(BA)。当BA运行时,如果没有正确输入密码,我们不希望安装任何东西并退出。我复制了标准主题并更改了安装页面,如下所示,添加了一个名为SecretCode的editbox,并向Bundle中添加了一个变量以接收SecretCode。当BA运行时,用户输入密码,代码显示在日志中,InstallCondition的计算结果为false,但msi仍然安装。在ExePackage文档中,InstallCondition声明: 只有当条件的计算结果为true时,才会安装程序包。如果条件的计算结果为false,并且捆绑包正在安装、修复或修改,则程序包将被卸载 在我的情况下,BA正在安装,即使密码与msi不匹配,msi仍在安装。我无法传入命令行参数,希望远离自定义托管应用程序。这是一个简单的例子来说明我们的问题 有没有办法让它工作或者我做错了什么 日志 [1FE4:12AC][2016-04-08T15:07:01]i000:将字符串变量“SecretCode”设置为值“boo” [1FE4:230C][2016-04-08T15:07:01]i052:条件“SecretCode=foo”的计算结果为false。 [1FE4:230C][2016-04-08T15:07:01]w321:跳过没有依赖项提供程序的包上的依赖项注册:Netfx46Full [1FE4:230C][2016-04-08T15:07:01]i052:条件“SecretCode=foo”的计算结果为false。 [1FE4:230C][2016-04-08T15:07:01]i201:计划包:MySetup,状态:缺席,默认请求:缺席,ba请求:缺席,执行:无,回滚:无,缓存:无,取消缓存:无,依赖项:无 安装页面Wix 在定制的burn应用程序中,如果许可证不匹配,我们怎么能不安装任何东西,wix,Wix,我已经使用Wix创建了一个示例自定义burn应用程序(BA)。当BA运行时,如果没有正确输入密码,我们不希望安装任何东西并退出。我复制了标准主题并更改了安装页面,如下所示,添加了一个名为SecretCode的editbox,并向Bundle中添加了一个变量以接收SecretCode。当BA运行时,用户输入密码,代码显示在日志中,InstallCondition的计算结果为false,但msi仍然安装。在ExePackage文档中,InstallCondition声明: 只有当条件的计算结果为tr
<Page Name="Install">
<!--
<Richedit Name="EulaRichedit" X="11" Y="80" Width="-11" Height="-70" TabStop="yes" FontId="0" HexStyle="0x800000" />
<Checkbox Name="EulaAcceptCheckbox" X="-11" Y="-41" Width="260" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
-->
<Text Name="SomeText" X="60" Y="50" Width="-11" Height="-70" TabStop="no" FontId="0" >
<![CDATA[
Please enter the secret code in the following field.
]]>
</Text>
<Editbox Name="SecretCode" X="85" Y="150" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="no" />
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
</Page>
#(定位安装选项按钮)
#(定位安装按钮)
#(位置安装关闭按钮)
Bundle.wxs
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" >
<Bundle Name="My Bootstrapper" Version="8.0.0.682" Manufacturer="FooBar" UpgradeCode="33AAE528-A1F0-45DD-AAF5-A83B4B749F10">
<WixVariable Id="WixStdbaThemeXml" Value="Themes\ExtractionTheme.xml" />
<Variable Name="SecretCode" bal:Overridable="yes"/>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense" >
<bal:WixStandardBootstrapperApplication SuppressOptionsUI="yes" LicenseUrl="" LogoFile="graphics\logo.png" LogoSideFile="graphics\logoSide.png" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage
Id="MySetup"
Cache="no" Compressed="yes" DisplayInternalUI="yes"
InstallCondition="SecretCode=foo"
SourceFile="SetupFiles\MyInstaller.msi" />
</Chain>
</Bundle>
</Wix>
刻录日志包括计划的详细信息。寻找以“计划套餐”开头的行了解这些细节。感谢您让我知道。我添加了变量的设置和计划细节