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
Installation Wix:应用属性发布_Installation_Wix_Windows Installer_Wix3.5 - Fatal编程技术网

Installation Wix:应用属性发布

Installation Wix:应用属性发布,installation,wix,windows-installer,wix3.5,Installation,Wix,Windows Installer,Wix3.5,我的Wix项目包含3个文件: 1) Product.wsx-主wxs文件 2) MyDlg.wxs-带有复选框的自定义对话框 3) 1.txt-任何文件 产品.wxs: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Fragment> <UI> <Property

我的Wix项目包含3个文件:

1) Product.wsx-主wxs文件

2) MyDlg.wxs-带有复选框的自定义对话框

3) 1.txt-任何文件

产品.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
   <Fragment>
      <UI>
         <Property Id="RECOGVERSION" Value="0" Secure="yes" /><br/>

         <Dialog Id="MyDlg" Width="370" Height="270" Title="My empty dialog">

            <Control Id="RecognitionServerText" Type="Text" X="25" Y="53" Width="340" Height="15" Transparent="yes" NoPrefix="yes" Text="Select version:" />
            <Control Id="RecognitionServerRadioButtonGroup" Type="RadioButtonGroup" X="16" Y="70" Width="120" Height="73" Property="RECOGVERSION" >
               <RadioButtonGroup Property="RECOGVERSION">
                  <RadioButton Height="15" Text="version 1 (old)" Value="0" Width="120" X="0" Y="0" />
                  <RadioButton Height="15" Text="version 2 (new)" Value="1" Width="120" X="0" Y="18" />
               </RadioButtonGroup>
            </Control>

            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
               <Publish Property="RECOGVERSION" Value="0">RECOGVERSION = "0"</Publish>
               <Publish Property="RECOGVERSION" Value="1">RECOGVERSION = "1"</Publish>
               <Publish Event="NewDialog" Value="CustomizeDlg" Order="10" />
            </Control>
            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)">
               <Publish Event="NewDialog" Value="LicenseAgreementDlg" Order="10" />
            </Control>
            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
               <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
            </Control>

         </Dialog>
      </UI>
   </Fragment>
</Wix>


RECOGVERSION=0
许可证接受=“1”
未安装
未安装

MyDlg.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
   <Fragment>
      <UI>
         <Property Id="RECOGVERSION" Value="0" Secure="yes" /><br/>

         <Dialog Id="MyDlg" Width="370" Height="270" Title="My empty dialog">

            <Control Id="RecognitionServerText" Type="Text" X="25" Y="53" Width="340" Height="15" Transparent="yes" NoPrefix="yes" Text="Select version:" />
            <Control Id="RecognitionServerRadioButtonGroup" Type="RadioButtonGroup" X="16" Y="70" Width="120" Height="73" Property="RECOGVERSION" >
               <RadioButtonGroup Property="RECOGVERSION">
                  <RadioButton Height="15" Text="version 1 (old)" Value="0" Width="120" X="0" Y="0" />
                  <RadioButton Height="15" Text="version 2 (new)" Value="1" Width="120" X="0" Y="18" />
               </RadioButtonGroup>
            </Control>

            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
               <Publish Property="RECOGVERSION" Value="0">RECOGVERSION = "0"</Publish>
               <Publish Property="RECOGVERSION" Value="1">RECOGVERSION = "1"</Publish>
               <Publish Event="NewDialog" Value="CustomizeDlg" Order="10" />
            </Control>
            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)">
               <Publish Event="NewDialog" Value="LicenseAgreementDlg" Order="10" />
            </Control>
            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
               <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
            </Control>

         </Dialog>
      </UI>
   </Fragment>
</Wix>


RECOGVERSION=“0” RECOGVERSION=“1” 1.
当我尝试单击自定义对话框中的“下一步”按钮时,什么也没有发生。 我无法转到下一个对话框

我尝试从MyDlg.wxs中删除以下行:

<Publish Property="RECOGVERSION" Value="0">RECOGVERSION = "0"</Publish>
<Publish Property="RECOGVERSION" Value="1">RECOGVERSION = "1"</Publish>
RECOGVERSION=“0”
RECOGVERSION=“1”
它有效,但在新窗口中,但有“RECOGVERSION”属性的未更新值


问题是什么?

使用ORCA查看MSI的ControlEvent表。我猜,因为您没有指定订单属性,所以您的订单完全错误,并且在您的增强ControlEvents有机会运行之前,NewDialog[NEXTDIALOG]正在被处理。

使用ORCA查看MSI的ControlEvent表。我猜,因为您没有指定订单属性,所以您的订单完全错误,并且在您的增强ControlEvents有机会运行之前,NewDialog[NEXTDIALOG]正在处理中。

解决方案

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
   <Publish Event="NewDialog" Value="CustomizeDlg" Order="10">1</Publish>
   <Publish Property="RECOGVERSION" Value="[RECOGVERSION]" Order="11">1</Publish>
</Control>

1.
1.

解决方案

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
   <Publish Event="NewDialog" Value="CustomizeDlg" Order="10">1</Publish>
   <Publish Property="RECOGVERSION" Value="[RECOGVERSION]" Order="11">1</Publish>
</Control>

1.
1.

像这样运行msi:msiexec/i myprod.msi/l*v install.log wxs在我看来是正确的。日志中有提取:像这样运行msi:msiexec/i myprod.msi/l*v install.log wxs在我看来是正确的。日志中有提取: