首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在使用wix3.6实例转换功能。我的要求是根据选定的实例转换id,将输出放到两个不同的文件夹中。

我正在使用wix3.6实例转换功能。我的要求是根据选定的实例转换id,将输出放到两个不同的文件夹中。
EN

Stack Overflow用户
提问于 2022-06-19 15:21:48
回答 1查看 20关注 0票数 0

我正在使用wix3.6实例转换功能。我的要求是根据通过命令提示符提供的实例TRANSFERCATEGORY属性将输出吐到两个不同的文件夹中。我不会在我的wxs中获得这个属性,它总是会被放到其他部分。

代码语言:javascript
复制
<Property Id="INSTANCEID" Value="0" />
        <InstanceTransforms Property="INSTANCEID">
            <Instance Id="LastValue" ProductCode="{ED59B2D8-9A9B-4934-B3A5-7EC6A5A7854A}" ProductName="Value" />
            <Instance Id="Series" ProductCode="{BE7644EA-322F-4756-863B-605B753720C1}" ProductName="Series" />
        </InstanceTransforms>

<Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFiles64Folder">
                <Directory Id="INSTALLFOLDER1" Name="$(var.Manufacturer)">
                    <Directory Id="INSTALLFOLDER2" Name="ParentFolder">                     
                        <?if [TRANSFERCATEGORY] = "Series"  ?>
                        <Directory Id="INSTALLFOLDER" Name="Series">
                            <Directory Id="ServiceInstaller" Name="ServiceInstaller" />
                        </Directory>
                        <?elseif [TRANSFERCATEGORY] = "LastValue"?>
                        <Directory Id="INSTALLFOLDER" Name="LastValue">
                            <Directory Id="ServiceInstaller" Name="ServiceInstaller" />
                        </Directory>
                        <?endif?>
                    </Directory>
                </Directory>
            </Directory>
        </Directory>    

msiexec /i RDStoGMS.Installer.msi TRANSFORMS=":LastValue" TRANSFERCATEGORY="LastValue"
EN

回答 1

Stack Overflow用户

发布于 2022-06-20 09:01:51

您似乎将编译时构造与运行时构造混合在一起。您可以使用SetDirectory自定义操作s.t。像这样:

代码语言:javascript
复制
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFiles64Folder">
    <Directory Id="INSTALLFOLDER1" Name="$(var.Manufacturer)">
      <Directory Id="INSTALLFOLDER2" Name="ParentFolder">                     
        <Directory Id="INSTALLFOLDER" Name="Series">
          <Directory Id="ServiceInstaller" Name="ServiceInstaller" />
        </Directory>                            
      </Directory>
    </Directory>
  </Directory>
</Directory> 

<SetDirectory Id="INSTALLFOLDER" Value="[TRANSFERCATEGORY]">TRANSFERCATEGORY</SetDirectory>

如果定义了TRANSFERCATEGORY值,这将覆盖默认的“Series”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72678083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档