Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix 在定制的burn应用程序中,如果许可证不匹配,我们怎么能不安装任何东西_Wix - Fatal编程技术网

Wix 在定制的burn应用程序中,如果许可证不匹配,我们怎么能不安装任何东西

Wix 在定制的burn应用程序中,如果许可证不匹配,我们怎么能不安装任何东西,wix,Wix,我已经使用Wix创建了一个示例自定义burn应用程序(BA)。当BA运行时,如果没有正确输入密码,我们不希望安装任何东西并退出。我复制了标准主题并更改了安装页面,如下所示,添加了一个名为SecretCode的editbox,并向Bundle中添加了一个变量以接收SecretCode。当BA运行时,用户输入密码,代码显示在日志中,InstallCondition的计算结果为false,但msi仍然安装。在ExePackage文档中,InstallCondition声明: 只有当条件的计算结果为tr

我已经使用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请求:缺席,执行:无,回滚:无,缓存:无,取消缓存:无,依赖项:无

安装页面

    <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>


刻录日志包括计划的详细信息。寻找以“计划套餐”开头的行了解这些细节。感谢您让我知道。我添加了变量的设置和计划细节