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属性值替换和CAQuietExec_Wix_Windows Installer - Fatal编程技术网

WIX属性值替换和CAQuietExec

WIX属性值替换和CAQuietExec,wix,windows-installer,Wix,Windows Installer,到目前为止,我还没有发现WIX是我最喜欢的最直观、易用的语言/系统 我创建了一个自定义对话框,输入数据,并在安装日志中查看值 MSI (c) (C8:A4) [14:42:37:137]: PROPERTY CHANGE: Modifying VARRADIOBUTTONENVIRONMENT property. Its current value is 'Dev'. Its new value: 'QA'. MSI (c) (C8:A4) [14:42:41:448]: PROPERTY CH

到目前为止,我还没有发现WIX是我最喜欢的最直观、易用的语言/系统

我创建了一个自定义对话框,输入数据,并在安装日志中查看值

MSI (c) (C8:A4) [14:42:37:137]: PROPERTY CHANGE: Modifying VARRADIOBUTTONENVIRONMENT property. Its current value is 'Dev'. Its new value: 'QA'.
MSI (c) (C8:A4) [14:42:41:448]: PROPERTY CHANGE: Modifying VARTEXTSETTINGSFILENAME property. Its current value is 'C:\Path\SettingsFileGenerator.xml'. Its new value: 'Test1234.txt'.
稍后,当使用该值时,我看到:

Action ended 14:42:43: InstallFinalize. Return value 1.
MSI (s) (BC:F8) [14:42:43:676]: Doing action: QtExec1
Action 14:42:43: QtExec1. 
Action start 14:42:43: QtExec1.
MSI (s) (BC:F4) [14:42:43:682]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIC4A7.tmp, Entrypoint: CAQuietExec
MSI (s) (BC!BC) [14:42:43:690]: PROPERTY CHANGE: Deleting QtExecCmdLine property. Its current value is '"[INSTALLLOCATION]XmlPreprocess.exe /i:web.config /e:[VARRADIOBUTTONENVIRONMENT] "'.
CAQuietExec:  Error 0x8007007b: Command failed to execute.
CAQuietExec:  Error 0x8007007b: CAQuietExec Failed
Action ended 14:42:43: QtExec1. Return value 3.
Action ended 14:42:43: INSTALL. Return value 3.
Property(S): StartIIS7ConfigTransaction = ScaConfigureIIs
最后,当它转储所有属性时,会显示以下内容:

属性:VARRADIOBUTTONENVIRONMENT=QA 属性:VARTEXTSETTINGSFILENAME=Test1234.txt 属性:VerifyCurrentPropValueOfEnv=[VARRADIOBUTTONENVIRONMENT]

下面是我的代码片段。我只是将属性ID更改为所有大写,并根据我看到的另一篇文章添加了secure=“yes”。我尝试过使用和不使用安全设置=“是”

Dev
C:\Path\SettingsFileGenerator.xml
……后来。。。
在安装结束时,我看到XmlPreProcess.exe安装在安装目录中

问题:

  • 我是否在做错事,让这些值替换

  • 我使用CAQuietExec是因为我被告知它可以更好地记录错误,并将命令窗口的输出回送到安装日志。我真的不在乎看不到命令窗口。我不知道如何找出这意味着什么: “CAQuietExec:错误0x8007007b:命令无法执行。”。我无法判断这是调用XmlPreprocess.exe时出现的WIX错误,还是它进入XmlPreprocess后抛出了错误

  • 谢谢


    Neal Walters

    查看日志摘要我想我可以看到问题所在,您已经引用了整个命令行,请尝试以下操作:

    <Property Id="QtExecCmdLine" Value="&quot;[INSTALLLOCATION]XmlPreprocess.exe&quot; /i:&quot;[INSTALLLOCATION]web.config&quot; /e:[VARRADIOBUTTONENVIRONMENT]"/>
    
    
    
    我想在我的几十个排列中的一个排列中我已经厌倦了,但现在我会再试一次。谢谢谢谢,它跑起来了!现在,我如何确定我是否向它传递了正确的变量?@Neal,你应该能够分析日志并从中获取:)@saschabeaumont分析msi日志对我来说是最神秘的:)@sergdev你可能会觉得有用。它是Windows SDK的一部分,如果您不确定要查找什么,则可以更轻松地进行分析
    <Property Id="QtExecCmdLine" Value="&quot;[INSTALLLOCATION]XmlPreprocess.exe&quot; /i:&quot;[INSTALLLOCATION]web.config&quot; /e:[VARRADIOBUTTONENVIRONMENT]"/>