Visual studio 2013 Wix自定义安装目录错误2727

Visual studio 2013 Wix自定义安装目录错误2727,visual-studio-2013,wix,wix3.9,Visual Studio 2013,Wix,Wix3.9,我已经为我的应用程序创建了一个wix安装程序。 除了在下一个对话框中选择“为机器上的所有用户安装”,我选择了安装目录,但出现错误,其他操作都正常运行 单击“下一步”显示上述错误 Windows installer提供了以下详细信息 2727目录表中不存在目录项“” Product.wxs包含 <UI> <UIRef Id="WixUI_ErrorProgressText" /> <UIRef Id="UISequence" />

我已经为我的应用程序创建了一个wix安装程序。 除了在下一个对话框中选择“为机器上的所有用户安装”,我选择了安装目录,但出现错误,其他操作都正常运行

单击“下一步”显示上述错误

Windows installer提供了以下详细信息 2727目录表中不存在目录项“”

Product.wxs包含

<UI>
      <UIRef Id="WixUI_ErrorProgressText" />
      <UIRef Id="UISequence" />
    </UI>

Wix文件

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
    <!--Adding dialogs-->
    <UI Id="UISequence">
      <Property Id="ApplicationFolderName" Value="AppName" />
      <Property Id="WixAppFolder" Value="WixPerMachineFolder" />
      <UIRef Id="WixUI_Advanced"/>
      <Publish Dialog="ExitDialog"
    Control="Finish"
    Event="DoAction"
    Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>

    </UI>

    <!--Including License agreement-->
    <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
    <!--<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />-->

    <!--Exit Dialog-->
    <Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Thank you for installing this product." />

    <!--Provide Launch Application Option-->
    <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch AppName" />
    <Property Id="WixShellExecTarget" Value="[#AppExeName.exe]" />
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes"/>

  </Fragment>
</Wix>

WIXUI_EXITDIALOGOPTIONALCHECKBOX=1且未安装
如果我不去进修,一切都会好的。为所有用户安装应用程序

我到处找,没发现这是真的


请帮忙,我错过了什么。

我使用APPLICATIONFOLDER修复了错误2727

之前:

    <Directory Id="TARGETDIR" Name="SourceDir">
     <Directory Id="ProgramFilesFolder">
      <Directory Id="CompanyFolder" Name="Company">
       <Directory Id="InstallFolder" Name="MyProgram"/>
      </Directory>
     </Directory>
    </Directory>

之后:

    <Directory Id="TARGETDIR" Name="SourceDir">
     <Directory Id="ProgramFilesFolder">
      <Directory Id="CompanyFolder" Name="Company">
       <Directory Id="APPLICATIONFOLDER" Name="MyProgram"/>
      </Directory>
     </Directory>
    </Directory>

补充: 这很奇怪,但在使用WIXUI时可能:

<UI Id="MyWixUI_Mondo">
  <UIRef Id="WixUI_Advanced" />
</UI>    

这样做的最佳方式是:

<Property Id="ApplicationFolderName" Value="Company\MyProgram" />
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="APPLICATIONFOLDER" Name="Anything"/>
  </Directory>
</Directory>


实际的WIXUI安装文件夹将是“Program Files\Company\MyProgram”,而不是“Program Files\Anything”

要查看实际错误,必须使用
msiexec/i softwarestup.msi/L*V C:\logs\.log

在我的情况下,当我有2727,并没有任何线索,我运行我的微星使用上述命令,并在日志中清楚地说

**错误2727是“目录项“[XYZ]”在 目录表**

因此,目录XYZ的set target path有一个发布事件,但product.wxs中的目录结构/条目中没有该事件。 因此,我必须删除不必要的set-target-path发布事件,一切正常


然而,要想得到确切的失败原因,请使用我在第一句话中提到的
misexec
运行您的应用程序。

well explaution@jeril