代码之家  ›  专栏  ›  技术社区  ›  keith

wix在安装目录下嵌套子目录

  •  0
  • keith  · 技术社区  · 7 年前

    我正在创建WIX安装程序并允许用户更改安装目录 INSTALL_FOLDER . 如果用户更改了安装目录,请说 D:\Here 然后将组件文件添加到 AAX_BIN_FOLDER 仍会导致文件被添加到 C:\Program Files\Manufacturer\Product\Test AAX Plugin\Context\x64\Test.aaxplugin 而不是 D:\Here\Test AAX Plugin\Context\x64\Test.aaxplugin .

    我在下面的XML中做了什么错误?

    <Feature Id="AAX" Title="AAX" Level="1">
        <ComponentGroupRef Id="group.AAX" />
    </Feature>
    
    <Fragment>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="$(var.Program_Files)">
                <Directory Id="INSTALL_FOLDER_MANUFACTURER" Name="$(var.Manufacturer)">
                    <Directory Id="INSTALL_FOLDER" Name="$(var.Short_Name)">
                        <Directory Id="INSTALL_AAX_PLUGIN_FOLDER" Name="$(var.Short_Name) AAX Plugin">
                            <Directory Id="INSTALL_AAX_CONTENT" Name="Content">
                                <Directory Id="INSTALL_AAX_BIN_FOLDER" Name="$(var.AAX_Architecure)" />
                                <Directory Id="INSTALL_AAX_RESOURCES_FOLDER" Name="Resources" />
                            </Directory>
                        </Directory>
                    </Directory>
                </Directory>
            </Directory>
        </Directory>
    
        <ComponentGroup Id="group.AAX">
            <Component Id='component.AAX' Guid='$(var.Component_Aax_Guid)' Transitive="yes" Directory="AAX_BIN_FOLDER">
                    <File Id="file.AAX" Source='..\..\build_release$(var.Architecture_Number)\Test.aaxplugin' Name="Test.aaxplugin" Vital='yes' KeyPath='yes' />
            </Component>
        </ComponentGroup>
    </Fragment>
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   keith    7 年前

    问题是下面文件夹ID的上框 INSTALL_FOLDER . 将这些更改为一些小写字符可以解决此问题。这似乎是因为只有大写的ID被不同的处理。

    推荐文章