如何使用WiX在安装文件夹中创建子文件夹

巴德鲁尔

如何在安装文件夹(在我的情况下为WWU)中创建子文件夹?我正在程序文件中创建一个名为WWU的安装文件夹,我想在WWU文件夹中创建一个名为image的子文件夹,其中将包含一些必要的图像文件。我尝试使用下面的代码这样做,但是我无法创建文件夹。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

<Product Id="{AADE647C-36C5-48A7-A88F-5AB8D6BAE7FE}" Name="WWU 1.0" Language="1033" Version="1.0.0.0" Manufacturer="Aricent Group" UpgradeCode="f89a1900-bdb0-4fec-a035-e69ae882716b">
    <Package Id="*" Keywords="Installer" Description="Aricent's WWU 1.0 Installer" Comments="WWU is a registered trademark of Aricent Group." Manufacturer="Aricent Group" InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <UIRef Id="WixUI_Minimal"/>
    <WixVariable Id="WixUILicenseRtf" Value="$(var.WWU_UI.TargetDir)License.rtf"/>  
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />

    <Media Id= "1" Cabinet="WWU.cab" EmbedCab="yes"/>

    <Feature Id="Complete" Title="WWU`_Installer" Description="The complete package." Display="expand" ConfigurableDirectory="INSTALLFOLDER" Level="1">
        <ComponentGroupRef Id="ProductComponents"/>
        <ComponentGroupRef Id="Shortcuts"/>
    </Feature>

    <Feature Id="ImagePack" Title="Images" Level="1">
        <ComponentGroupRef Id="ImageFiles"/>
    </Feature>
</Product>

<Fragment>
<UI>
    <Dialog Id="UserRegistrationDlg" Width="360" Height="250" Title="[ProductName] Setup" NoMinimize="yes">
        <Control Id="NameLabel" Type="Text" X="45" Y="70" Width="100" Height="15" TabSkip="no"  Text="User Name:"/>
        <Control Id="NameEdit" Type="Text" X="45" Y="80" Width="220" Height="18" Property="USERNAME" Text="{80}" />
        <Control Id="OrganizationalLabel" Type="Text" X="45" Y="110" Width="100" Height="15" TabSkip="no"  Text="Organization:"/> 
    </Dialog>
</UI>  
</Fragment>

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="WWU" />
        </Directory>
        <Directory Id="ProgramMenuFolder" Name="Programs">
            <Directory Id="ProgramMenuDir" Name="WWU 1.0" />
        </Directory>
        <Directory Id="DesktopFolder" Name="Desktop" />
        <Directory Id="ImageFolder" Name="image"/>
    </Directory> 
</Fragment>

<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
        <!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
        <Component Id="MainExecutable" Guid="{434D54CC-D875-4B45-8125-CCCB8119A053}">
            <!-- TODO: Insert files, registry keys, and other resources here. -->
            <File Id="WWUEXE" Name="WWU_UI.exe" Source="$(var.WWU_UI.TargetDir)WWU_UI.exe" KeyPath="yes">
                <Shortcut Id="startmenuWWU" Directory="ProgramMenuDir" Name="WWU Tutorial 1.0" WorkingDirectory="IINSTALLDIR" Icon="WWU_UI.exe" Advertise="yes"/>
                <Shortcut Id="desktopWWU" Directory="DesktopFolder" Name="WWU Tutorial 1.0" WorkingDirectory="IINSTALLDIR" Icon="WWU_UI.exe" Advertise="yes"/>
            </File>
        </Component>
        <Component Id="SQLiteInterop" Guid="{7DBF7C38-3001-403F-911E-AF3C318F6219}">
            <File Id="Interopdll" Name="SQLite.Interop.dll" Source="$(var.WWU_UI.TargetDir)x86\SQLite.Interop.dll" />  
        </Component>
        <Component Id="SQLitedll" Guid="{DB1FB7CC-6D89-478B-9276-8F4F987027AC}" >
            <File Id="SQLite"  Name="System.Data.SQLite.dll" Source="$(var.WWU_UI.TargetDir)System.Data.SQLite.dll" />
        </Component>
        <Component Id="SQLiteLinqdll" Guid="{C65A7DD8-6F1A-4E02-86B2-2B2EDFFDD684}" >
            <File Id="SQLiteLinq"  Name="System.Data.SQLite.Linq.dll" Source="$(var.WWU_UI.TargetDir)System.Data.SQLite.Linq.dll" />
        </Component>
        <Component Id="Log4net" Guid="{5266C74E-D7F8-4091-90C2-B661A63B7909}" >
            <File Id="Log4netdll"  Name="log4net.dll" Source="$(var.WWU_UI.TargetDir)log4net.dll" />
        </Component>          
    </ComponentGroup>

    <ComponentGroup Id="Shortcuts" Directory="ProgramMenuDir">
        <Component Id="ProgramMenuShortcut">
            <RemoveFolder Id="ProgramMenuDir" On="uninstall" />
            <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
        </Component>  
    </ComponentGroup>  

    <!-- image files for image folder -->
    <ComponentGroup Id="ImageFiles" Directory="ImageFolder">
        <Component Id="Asfo" Guid="{B8031331-076F-4C75-B231-3EBCBBD8D29C}">
            <File Id="Asfoimg" Name="0sf0.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\0sfo.ico" />
        </Component>
        <Component Id="Asfob" Guid="{D0D78785-3CFC-49C7-9470-90250034D331}">
            <File Id="Asfobimg" Name="0sfob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\0sfob.ico" />
        </Component>
        <Component Id="Aufo" Guid="{6912A60F-F612-4AB8-B530-A0EA71AF8587}">
            <File Id="Aufoimg" Name="0ufo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\0ufo.ico" />
        </Component>
        <Component Id="Aufob" Guid="{AD38A28F-3518-4AA4-B169-EC5077844E83}">
            <File Id="Aufobimg" Name="0ufob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\0ufob.ico" />
        </Component>
        <Component Id="Bsfo" Guid="{D9A2BD2E-70C2-47DE-8B20-501A9D77A3CD}">
            <File Id="Bsfoimg" Name="1sfo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\1sfo.ico" />
        </Component>
        <Component Id="Bsfob" Guid="{AC063280-4698-4605-B74C-471DEAD9D595}">
            <File Id="Bsfobimg" Name="1sfob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\1sfob.ico" />
        </Component>
        <Component Id="Bufo" Guid="{0D840A42-3119-4283-9220-BCD722FA4D31}">
            <File Id="Bufoimg" Name="1ufo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\1ufo.ico" />
        </Component>
        <Component Id="Bufob" Guid="{A8425CC9-5787-419D-8D37-8B6F16726C84}">
            <File Id="Bufobimg" Name="1ufob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\1ufob.ico" />
        </Component>
        <Component Id="Csfo" Guid="{CBB6870F-3FBA-4ADC-B508-D865A8642C19}">
            <File Id="Csfoimg" Name="2sfo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\2sfo.ico" />
        </Component>
        <Component Id="Csfob" Guid="{E0EBE823-11EB-4054-A544-1F9859D06A00}">
            <File Id="Csfobimg" Name="2sfob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\2sfob.ico" />
        </Component>
        <Component Id="Cufo" Guid="{E1870A35-B398-4B4A-AC1C-0A701A5188F8}">
            <File Id="Cufoimg" Name="2ufo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\2ufo.ico" />
        </Component>
        <Component Id="Cufob" Guid="{3A6EA0AE-38C0-496C-B977-3342F3C6D8B8}">
            <File Id="Cufobimg" Name="2ufob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\2ufob.ico" />
        </Component>
        <Component Id="Dsfo" Guid="{2D575CA7-96DA-40A1-B1EC-173F455E47C4}">
            <File Id="Dsfoimg" Name="3sfo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\3sfo.ico" />
        </Component>
        <Component Id="Dsfob" Guid="{C08977BB-8FF7-459F-B3B3-8A9E75152EF5}">
            <File Id="Dsfobimg" Name="3sfob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\3sfob.ico" />
        </Component>
        <Component Id="Dufo" Guid="{552B1B41-247D-490B-9433-B642CAD6A70A}">
            <File Id="Dufoimg" Name="3ufo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\3ufo.ico" />
        </Component>
        <Component Id="Dufob" Guid="{3140C586-45C8-4496-BADD-3F55D9F2B751}">
            <File Id="Dufobimg" Name="3ufob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\3ufob.ico" />
        </Component>
        <Component Id="Esfo" Guid="{311F89D5-5E53-4B45-87F7-B521ACC6D7C1}">
            <File Id="Esfoimg" Name="4sfo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\4sfo.ico" />
        </Component>
        <Component Id="Esfob" Guid="{E9239C1D-3F5A-497B-92D4-0830E739A5E9}">
            <File Id="Esfobimg" Name="4sfob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\4sfob.ico" />
        </Component>
        <Component Id="Eufo" Guid="{8A057476-D9B3-4033-9906-567377D97304}">
            <File Id="Eufoimg" Name="4ufo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\4ufo.ico" />
        </Component>
        <Component Id="Eufob" Guid="{8CE17A52-19B1-4FB6-9D12-0B231E3DDE4D}">
            <File Id="Eufobimg" Name="4ufob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\4ufob.ico" />
        </Component>
        <Component Id="Fsfo" Guid="{D0433C83-BCC5-41EB-8015-9D76E4457448}">
            <File Id="Fsfoimg" Name="5sfo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\5sfo.ico" />
        </Component>
        <Component Id="Fsfob" Guid="{C65BD8E6-C9F1-4A75-9A23-3A6DB35B4BFC}">
            <File Id="Fsfobimg" Name="5sfob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\5sfob.ico" />
        </Component>
        <Component Id="Fufo" Guid="{4F9D5939-7011-4D99-A65B-3F0A2130622B}">
            <File Id="Fufoimg" Name="5ufo.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\5ufo.ico" />
        </Component>
        <Component Id="Fufob" Guid="{90D7B520-4A37-42AC-AB62-F5485A89FCC9}">
            <File Id="Fufobimg" Name="5ufob.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\5ufob.ico" />
        </Component>
        <Component Id="Ari_WWU" Guid="{086B969B-BAA2-4DFA-B699-F56FF885AB26}">
            <File Id="Ari_WWUimg" Name="Ari_WWU.ico" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\Ari_WWU.ico" />
        </Component>
        <Component Id="auto" Guid="{9625F82B-B206-40E6-9310-8D46563E20C6}">
            <File Id="auto" Name="auto.png" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\auto.png" />
        </Component>
        <Component Id="info" Guid="{DDCBB410-77DD-49C9-9372-98DD2747121E}">
            <File Id="infoimg" Name="info.png" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\info.png" />
        </Component>
        <Component Id="manual" Guid="{4F8768A8-E44C-4781-9680-95CAC631CFB7}">
            <File Id="manualimg" Name="manual.png" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\manual.png" />
        </Component>
        <Component Id="off" Guid="{702551D4-34DD-4B1B-B4F6-614DEFA4542A}">
            <File Id="offimg" Name="off.png" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\off.png" />
        </Component>
        <Component Id="on" Guid="{7682A68D-712B-4F70-9EE2-FB4F0E04947D}">
            <File Id="onimg" Name="on.png" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\on.png" />
        </Component>
        <Component Id="refresh" Guid="{9815CA13-659C-466D-B759-5EF557069D1B}">
            <File Id="refreshimg" Name="refresh.png" KeyPath="yes" Source="$(var.WWU_UI.TargetDir)image\refresh.png" />
        </Component>           
    </ComponentGroup>
</Fragment>

    <Fragment>
        <Icon Id="WWU_UI.exe" SourceFile="$(var.WWU_UI.TargetDir)WWU_UI.exe"/>
    </Fragment>
</Wix>
扬·斯克莱连科

您应该<Directory Id="ImageFolder">下面<Directory Id="INSTALLFOLDER">那样嵌套下面

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLFOLDER" Name="WWU">
      <Directory Id="ImageFolder" Name="image"/>
    </Directory>
  </Directory>
  <Directory Id="ProgramMenuFolder" Name="Programs">
    <Directory Id="ProgramMenuDir" Name="WWU 1.0" />
  </Directory>
  <Directory Id="DesktopFolder" Name="Desktop" />
</Directory> 

还要注意,如果该文件夹中没有组件,则不会创建空目录。为了做到这一点,您必须编写一个其中包含<CreateFolder>element的组件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用WiX自定义操作在安装文件夹中创建文件

来自分类Dev

如何在 WIX 中创建自定义默认安装文件夹?

来自分类Dev

Wix-如何复制目录以安装文件夹

来自分类Dev

Wix在安装文件夹中添加外部dll

来自分类Dev

如何从Wix安装程序中的命令行参数定义安装文件夹

来自分类Dev

从应用程序安装文件夹的子文件夹中读取文件

来自分类Dev

从应用程序安装文件夹的子文件夹中读取文件

来自分类Dev

Wix-正确设置安装文件夹

来自分类Dev

WiX:将文件从本地文件夹复制到安装文件夹

来自分类Dev

如何使用bat文件在安装文件夹中运行exe,而不必担心安装文件夹的位置

来自分类Dev

在Inno Setup中将文件(依赖项)安装到安装文件夹的子文件夹(lib)中

来自分类Dev

Wix-WebProject-在安装文件夹中添加文件

来自分类Dev

在WIX 3.9中分配文件安装文件夹时出错

来自分类Dev

Wix:如何安装共享文件夹

来自分类Dev

Docker的容器安装文件夹

来自分类Dev

Kivy安装文件夹

来自分类Dev

Docker的容器安装文件夹

来自分类Dev

如何安装共享文件夹的子文件夹?

来自分类Dev

SPECjvm:如何执行外部安装文件夹

来自分类Dev

Mac中的Eclipse mars安装文件夹

来自分类Dev

如何在子文件夹 SharePoint Online C# 中创建子文件夹

来自分类Dev

如何在用户选择的根文件夹中创建包含某些子文件夹的文件夹?

来自分类Dev

如何从子文件夹访问文件,该子文件夹位于最近使用python创建或修改的文件夹中?

来自分类Dev

如何在CMD中目录的每个文件夹中递归创建子文件夹

来自分类Dev

如何使用sshfs使用私钥在Amazon EC2实例上安装文件夹

来自分类Dev

如何在现有文件夹中创建子文件夹?

来自分类Dev

如何使用定义的变量创建带有子文件夹的文件夹?

来自分类Dev

使用PowerShell在多个父文件夹中创建子文件夹

来自分类Dev

使用该包在脚本文件夹中创建子文件夹的 Python 包

Related 相关文章

  1. 1

    使用WiX自定义操作在安装文件夹中创建文件

  2. 2

    如何在 WIX 中创建自定义默认安装文件夹?

  3. 3

    Wix-如何复制目录以安装文件夹

  4. 4

    Wix在安装文件夹中添加外部dll

  5. 5

    如何从Wix安装程序中的命令行参数定义安装文件夹

  6. 6

    从应用程序安装文件夹的子文件夹中读取文件

  7. 7

    从应用程序安装文件夹的子文件夹中读取文件

  8. 8

    Wix-正确设置安装文件夹

  9. 9

    WiX:将文件从本地文件夹复制到安装文件夹

  10. 10

    如何使用bat文件在安装文件夹中运行exe,而不必担心安装文件夹的位置

  11. 11

    在Inno Setup中将文件(依赖项)安装到安装文件夹的子文件夹(lib)中

  12. 12

    Wix-WebProject-在安装文件夹中添加文件

  13. 13

    在WIX 3.9中分配文件安装文件夹时出错

  14. 14

    Wix:如何安装共享文件夹

  15. 15

    Docker的容器安装文件夹

  16. 16

    Kivy安装文件夹

  17. 17

    Docker的容器安装文件夹

  18. 18

    如何安装共享文件夹的子文件夹?

  19. 19

    SPECjvm:如何执行外部安装文件夹

  20. 20

    Mac中的Eclipse mars安装文件夹

  21. 21

    如何在子文件夹 SharePoint Online C# 中创建子文件夹

  22. 22

    如何在用户选择的根文件夹中创建包含某些子文件夹的文件夹?

  23. 23

    如何从子文件夹访问文件,该子文件夹位于最近使用python创建或修改的文件夹中?

  24. 24

    如何在CMD中目录的每个文件夹中递归创建子文件夹

  25. 25

    如何使用sshfs使用私钥在Amazon EC2实例上安装文件夹

  26. 26

    如何在现有文件夹中创建子文件夹?

  27. 27

    如何使用定义的变量创建带有子文件夹的文件夹?

  28. 28

    使用PowerShell在多个父文件夹中创建子文件夹

  29. 29

    使用该包在脚本文件夹中创建子文件夹的 Python 包

热门标签

归档