summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/commandlineinstall/data
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer/commandlineinstall/data')
-rw-r--r--tests/auto/installer/commandlineinstall/data/components.xml24
-rw-r--r--tests/auto/installer/commandlineinstall/data/componentsFromInstallPackagesRepository.xml160
-rw-r--r--tests/auto/installer/commandlineinstall/data/config.xml8
-rw-r--r--tests/auto/installer/commandlineinstall/data/filequeryrepository/A/1.0.2-1meta.7zbin0 -> 945 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/filequeryrepository/Updates.xml13
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/Updates.xml72
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentA/2.0.0content.7zbin0 -> 259 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentB/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentC/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentD/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentF/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentH/1.0.0content.7zbin0 -> 209 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/Updates.xml173
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentA/1.0.0content.7zbin0 -> 259 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentB/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentC/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentD/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentE/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent1/1.0.0content.7zbin0 -> 249 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent2/1.0.0content.7zbin0 -> 249 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent1/1.0.0content.7zbin0 -> 249 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent2/1.0.0content.7zbin0 -> 249 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0content.7zbin0 -> 241 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0meta.7zbin0 -> 970 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentH/1.0.0content.7zbin0 -> 209 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentI/1.0.0content.7zbin0 -> 209 bytes
-rw-r--r--tests/auto/installer/commandlineinstall/data/repository/Updates.xml69
-rw-r--r--tests/auto/installer/commandlineinstall/data/uninstallableComponentsRepository/Updates.xml50
31 files changed, 569 insertions, 0 deletions
diff --git a/tests/auto/installer/commandlineinstall/data/components.xml b/tests/auto/installer/commandlineinstall/data/components.xml
new file mode 100644
index 000000000..d5102787f
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/components.xml
@@ -0,0 +1,24 @@
+<Packages>
+ <ApplicationName>Online Installer Example</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <Package>
+ <Name>A</Name>
+ <Title>A Title</Title>
+ <Description>Example component A</Description>
+ <Version>1.0.2-1</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-02-13</InstallDate>
+ <Size>74</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>B</Name>
+ <Title>B Title</Title>
+ <Description>Example component B</Description>
+ <Version>1.0.0-1</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-02-13</InstallDate>
+ <Size>74</Size>
+ <Checkable>true</Checkable>
+ </Package>
+</Packages> \ No newline at end of file
diff --git a/tests/auto/installer/commandlineinstall/data/componentsFromInstallPackagesRepository.xml b/tests/auto/installer/commandlineinstall/data/componentsFromInstallPackagesRepository.xml
new file mode 100644
index 000000000..18d6f11c3
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/componentsFromInstallPackagesRepository.xml
@@ -0,0 +1,160 @@
+<Packages>
+ <ApplicationName>Dependency Solving Example</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <Package>
+ <Name>componentA</Name>
+ <Title>Component A</Title>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>158</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentB</Name>
+ <Title>Component B</Title>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentC</Name>
+ <Title>Component C (depends on A and B)</Title>
+ <Description>This component depends on Component A and Component B. Selecting this component for installation also marks Component A and Component B for installation, which in turn marks Component D, because it has an automatic dependency on Component A and Component B.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Dependencies>componentA,componentB</Dependencies>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentD</Name>
+ <Title>Component D (auto depends on A and B)</Title>
+ <Description>This component has an automatic dependency on Component A and Component B. If both A and B are marked for installation, this component is also installed.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <AutoDependOn>componentA,componentB</AutoDependOn>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentE</Name>
+ <Title>Component E (forced)</Title>
+ <Description>This is a forced component that is always installed.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <ForcedInstallation>true</ForcedInstallation>
+ </Package>
+ <Package>
+ <Name>componentF</Name>
+ <Title>Component F</Title>
+ <Description>This component contains 2 subcomponents.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentF.subcomponent1</Name>
+ <Title>Subcomponent 1</Title>
+ <Description>This component contains 2 leaf components.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentF.subcomponent1.subsubcomponent1</Name>
+ <Title>Subsubcomponent 1</Title>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentF.subcomponent1.subsubcomponent2</Name>
+ <Title>Subsubcomponent 2</Title>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentF.subcomponent2</Name>
+ <Title>Subcomponent 2</Title>
+ <Description>This component contains 2 leaf components.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentF.subcomponent2.subsubcomponent1</Name>
+ <Title>Subsubcomponent 1</Title>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentF.subcomponent2.subsubcomponent2</Name>
+ <Title>Subsubcomponent 2</Title>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentG</Name>
+ <Title>Component G (default, depends on A, dependency added dynamically)</Title>
+ <Description>By default, this component is selected for installation. It depends on component A. Dependency is added from inside component script.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Dependencies>componentA</Dependencies>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentH</Name>
+ <Title>Component H</Title>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <Virtual>true</Virtual>
+ <Checkable>true</Checkable>
+ </Package>
+ <Package>
+ <Name>componentI</Name>
+ <Title>Component I</Title>
+ <Description>This component has an automatic dependency on Component C. If C is marked for installation, this component is also installed.</Description>
+ <Version>1.0.0</Version>
+ <LastUpdateDate></LastUpdateDate>
+ <InstallDate>2020-03-23</InstallDate>
+ <Size>99</Size>
+ <AutoDependOn>componentC</AutoDependOn>
+ <Virtual>true</Virtual>
+ <Checkable>true</Checkable>
+ </Package>
+</Packages>
diff --git a/tests/auto/installer/commandlineinstall/data/config.xml b/tests/auto/installer/commandlineinstall/data/config.xml
new file mode 100644
index 000000000..041ce5062
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/config.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Installer>
+ <Name>Your application</Name>
+ <Version>1.2.3</Version>
+ <MaintenanceToolName></MaintenanceToolName>
+ <MaintenanceToolIniFile></MaintenanceToolIniFile>
+ <TargetConfigurationFile></TargetConfigurationFile>
+</Installer>
diff --git a/tests/auto/installer/commandlineinstall/data/filequeryrepository/A/1.0.2-1meta.7z b/tests/auto/installer/commandlineinstall/data/filequeryrepository/A/1.0.2-1meta.7z
new file mode 100644
index 000000000..0b0b6ade6
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/filequeryrepository/A/1.0.2-1meta.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/filequeryrepository/Updates.xml b/tests/auto/installer/commandlineinstall/data/filequeryrepository/Updates.xml
new file mode 100644
index 000000000..72b7938d9
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/filequeryrepository/Updates.xml
@@ -0,0 +1,13 @@
+<Updates>
+ <ApplicationName>{AnyApplication}</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <PackageUpdate>
+ <Name>A</Name>
+ <DisplayName>A</DisplayName>
+ <Description>A component</Description>
+ <Version>1.0.2-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>true</Default>
+ <Script>script.qs</Script>
+ </PackageUpdate>
+</Updates>
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/Updates.xml b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/Updates.xml
new file mode 100644
index 000000000..72931954a
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/Updates.xml
@@ -0,0 +1,72 @@
+<Updates>
+ <ApplicationName>{AnyApplication}</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <Checksum>false</Checksum>
+ <PackageUpdate>
+ <Name>componentA</Name>
+ <DisplayName>Component A</DisplayName>
+ <Description>New dependency added</Description>
+ <Version>2.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>100</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="299" UncompressedSize="158"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>92b02a74d0886bc1569ff8b3a7edd1f9d828e56c</SHA1>
+ <Dependencies>componentF</Dependencies>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentB</Name>
+ <DisplayName>Component B</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>90</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>aedfaef53cdc0f52353a8680009be405fa767811</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentC</Name>
+ <DisplayName>Component C. Dependencies removed</DisplayName>
+ <Description>This component dependencies on Component A and Component B are removed in update.</Description>
+ <Dependencies></Dependencies>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>80</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>20b9463a5e06f373182b3c7c4cf879806d429409</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentD</Name>
+ <DisplayName>Component D (auto depends on A and B)</DisplayName>
+ <Description>This component has an automatic dependency on Component A and Component B. If both A and B are marked for installation, this component is also installed.</Description>
+ <AutoDependOn>componentA, componentB</AutoDependOn>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>70</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>99cf24c71559c75dfae9933826ed16051fca6ea1</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF</Name>
+ <DisplayName>Component F</DisplayName>
+ <Description>This component contains 2 subcomponents.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>40</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>e6443a8b5a5651f63c0604cae6d32431ca617f1a</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentH</Name>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>50</SortingPriority>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <Virtual>false</Virtual>
+ </PackageUpdate>
+</Updates>
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentA/2.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentA/2.0.0content.7z
new file mode 100644
index 000000000..4ddbe565b
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentA/2.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentB/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentB/1.0.0content.7z
new file mode 100644
index 000000000..f84ffcdc5
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentB/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentC/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentC/1.0.0content.7z
new file mode 100644
index 000000000..9ad11e06f
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentC/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentD/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentD/1.0.0content.7z
new file mode 100644
index 000000000..0c8c52e31
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentD/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentF/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentF/1.0.0content.7z
new file mode 100644
index 000000000..4a04b1394
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentF/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentH/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentH/1.0.0content.7z
new file mode 100644
index 000000000..e1449ad29
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesDependencyChanged/componentH/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/Updates.xml b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/Updates.xml
new file mode 100644
index 000000000..81831ed5b
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/Updates.xml
@@ -0,0 +1,173 @@
+<Updates>
+ <ApplicationName>{AnyApplication}</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <Checksum>false</Checksum>
+ <PackageUpdate>
+ <Name>componentA</Name>
+ <DisplayName>Component A</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>100</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="299" UncompressedSize="158"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>92b02a74d0886bc1569ff8b3a7edd1f9d828e56c</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentB</Name>
+ <DisplayName>Component B</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>90</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>aedfaef53cdc0f52353a8680009be405fa767811</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentC</Name>
+ <DisplayName>Component C (depends on A and B)</DisplayName>
+ <Description>This component depends on Component A and Component B. Selecting this component for installation also marks Component A and Component B for installation, which in turn marks Component D, because it has an automatic dependency on Component A and Component B.</Description>
+ <Dependencies>componentA, componentB</Dependencies>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>80</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>20b9463a5e06f373182b3c7c4cf879806d429409</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentD</Name>
+ <DisplayName>Component D (auto depends on A and B)</DisplayName>
+ <Description>This component has an automatic dependency on Component A and Component B. If both A and B are marked for installation, this component is also installed.</Description>
+ <AutoDependOn>componentA, componentB</AutoDependOn>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>70</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>99cf24c71559c75dfae9933826ed16051fca6ea1</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentE</Name>
+ <DisplayName>Component E (forced)</DisplayName>
+ <Description>This is a forced component that is always installed.</Description>
+ <ForcedInstallation>true</ForcedInstallation>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>60</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>926bf503ccdff93351744843a95e5e2172cad5ec</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF</Name>
+ <DisplayName>Component F</DisplayName>
+ <Description>This component contains 2 subcomponents.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>40</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>e6443a8b5a5651f63c0604cae6d32431ca617f1a</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF.subcomponent1</Name>
+ <DisplayName>Subcomponent 1</DisplayName>
+ <Description>This component contains 2 leaf components.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>100</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>a3bc5dce1c93add30c22e46436396c66b0b51001</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF.subcomponent1.subsubcomponent1</Name>
+ <DisplayName>Subsubcomponent 1</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>100</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="289" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>ebe4d69414a1675a7f46887e15d9bffc275b7cc4</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF.subcomponent1.subsubcomponent2</Name>
+ <DisplayName>Subsubcomponent 2</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>50</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="289" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>e4379d20320d4c173b2d8e228f5722e3f36e3114</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF.subcomponent2</Name>
+ <DisplayName>Subcomponent 2</DisplayName>
+ <Description>This component contains 2 leaf components.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>50</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>6462be25912c490569a7c4f3931d978e78c69dc4</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF.subcomponent2.subsubcomponent1</Name>
+ <DisplayName>Subsubcomponent 1</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>100</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="289" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>72b224bc8f3431210834ce6db373fc8d638a3546</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF.subcomponent2.subsubcomponent2</Name>
+ <DisplayName>Subsubcomponent 2</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>50</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="289" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>3e2744edaef06af75b3248d5935523a6e2e61551</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentG</Name>
+ <DisplayName>Component G (default, depends on A, dependency added dynamically)</DisplayName>
+ <Description>By default, this component is selected for installation. It depends on component A. Dependency is added from inside component script.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <Script>installscript.js</Script>
+ <SortingPriority>30</SortingPriority>
+ <UpdateFile OS="Any" CompressedSize="281" UncompressedSize="99"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>8cba36dd589492c28e0d04942b4f8aa0a09f59cc</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentH</Name>
+ <DisplayName>component H</DisplayName>
+ <Description>This component does not depend on any other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>50</SortingPriority>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <Virtual>true</Virtual>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentI</Name>
+ <DisplayName>component I</DisplayName>
+ <Description>This component has an automatic dependency on Component C. If C is marked for installation, this component is also installed.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2014-08-25</ReleaseDate>
+ <SortingPriority>50</SortingPriority>
+ <AutoDependOn>componentC</AutoDependOn>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <Virtual>true</Virtual>
+ </PackageUpdate>
+</Updates>
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentA/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentA/1.0.0content.7z
new file mode 100644
index 000000000..4ddbe565b
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentA/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentB/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentB/1.0.0content.7z
new file mode 100644
index 000000000..f84ffcdc5
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentB/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentC/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentC/1.0.0content.7z
new file mode 100644
index 000000000..9ad11e06f
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentC/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentD/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentD/1.0.0content.7z
new file mode 100644
index 000000000..0c8c52e31
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentD/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentE/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentE/1.0.0content.7z
new file mode 100644
index 000000000..f5abacf81
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentE/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent1/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent1/1.0.0content.7z
new file mode 100644
index 000000000..3aced680f
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent1/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent2/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent2/1.0.0content.7z
new file mode 100644
index 000000000..e5385a163
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1.subsubcomponent2/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1/1.0.0content.7z
new file mode 100644
index 000000000..5bc549863
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent1/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent1/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent1/1.0.0content.7z
new file mode 100644
index 000000000..da9e9f340
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent1/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent2/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent2/1.0.0content.7z
new file mode 100644
index 000000000..d0b013706
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2.subsubcomponent2/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2/1.0.0content.7z
new file mode 100644
index 000000000..74ab44033
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF.subcomponent2/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF/1.0.0content.7z
new file mode 100644
index 000000000..4a04b1394
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentF/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0content.7z
new file mode 100644
index 000000000..81fc02052
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0meta.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0meta.7z
new file mode 100644
index 000000000..90bfe33a2
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentG/1.0.0meta.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentH/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentH/1.0.0content.7z
new file mode 100644
index 000000000..e1449ad29
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentH/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentI/1.0.0content.7z b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentI/1.0.0content.7z
new file mode 100644
index 000000000..651a29f94
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/installPackagesRepository/componentI/1.0.0content.7z
Binary files differ
diff --git a/tests/auto/installer/commandlineinstall/data/repository/Updates.xml b/tests/auto/installer/commandlineinstall/data/repository/Updates.xml
new file mode 100644
index 000000000..52707d09d
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/repository/Updates.xml
@@ -0,0 +1,69 @@
+<Updates>
+ <ApplicationName>{AnyApplication}</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <Checksum>true</Checksum>
+ <PackageUpdate>
+ <Name>A</Name>
+ <DisplayName>A</DisplayName>
+ <Description>Example component A</Description>
+ <Version>1.0.2-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>true</Default>
+ <UpdateFile CompressedSize="222" OS="Any" UncompressedSize="72"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>9d54e3a5adf3563913feee8ba23a99fb80d46590</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>B</Name>
+ <DisplayName>B</DisplayName>
+ <Description>Example component B</Description>
+ <Version>1.0.0-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>false</Default>
+ <UpdateFile CompressedSize="222" OS="Any" UncompressedSize="72"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>9170d55a6af81c1a6a63d708a4ab6ed359775cd9</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>C</Name>
+ <DisplayName>C</DisplayName>
+ <Description>Example component C</Description>
+ <Version>1.0.0-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>true</Default>
+ <UpdateFile CompressedSize="222" OS="Any" UncompressedSize="72"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>5b3939da1af492382c68388fc796837e4c36b876</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>C.virt</Name>
+ <DisplayName>Virtual subcomponent of C</DisplayName>
+ <Description>Example virtual component</Description>
+ <Version>1.0.0-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Virtual>true</Virtual>
+ <UpdateFile CompressedSize="222" OS="Any" UncompressedSize="72"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>5b3939da1af492382c68388fc796837e4c36b876</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>C.virt.subcomponent</Name>
+ <DisplayName>Subcomponent of virtual component</DisplayName>
+ <Description>Example subcomponent of virtual component</Description>
+ <Version>1.0.0-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <UpdateFile CompressedSize="222" OS="Any" UncompressedSize="72"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>5b3939da1af492382c68388fc796837e4c36b876</SHA1>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>AB</Name>
+ <DisplayName>AB</DisplayName>
+ <Description>Example component AB</Description>
+ <Version>1.0.2-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>true</Default>
+ <UpdateFile UncompressedSize="0" OS="Any" CompressedSize="0"/>
+ <SHA1>f75e65b1a0f68abb77fc41da08fc26dda5409a18</SHA1>
+ </PackageUpdate>
+</Updates>
diff --git a/tests/auto/installer/commandlineinstall/data/uninstallableComponentsRepository/Updates.xml b/tests/auto/installer/commandlineinstall/data/uninstallableComponentsRepository/Updates.xml
new file mode 100644
index 000000000..f0c724db8
--- /dev/null
+++ b/tests/auto/installer/commandlineinstall/data/uninstallableComponentsRepository/Updates.xml
@@ -0,0 +1,50 @@
+<Updates>
+ <ApplicationName>{AnyApplication}</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <Checksum>true</Checksum>
+ <PackageUpdate>
+ <Name>A</Name>
+ <DisplayName>A</DisplayName>
+ <Description>Example component A</Description>
+ <Version>2.0.0</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>true</Default>
+ <UpdateFile CompressedSize="224" OS="Any" UncompressedSize="74"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>c1f340c9a7ad1edbef4cb6288c83c646211e5ccd</SHA1>
+ <AutoDependOn>autoDep</AutoDependOn>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>AB</Name>
+ <DisplayName>AB</DisplayName>
+ <Description>Example component AB</Description>
+ <Version>1.0.2-1</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>true</Default>
+ <UpdateFile CompressedSize="0" OS="Any" UncompressedSize="0"/>
+ <SHA1>3c1470896a9db84092e00806b1303f3b5fa4f7ad</SHA1>
+ <Checkable>false</Checkable>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>B</Name>
+ <DisplayName>B</DisplayName>
+ <Description>Example component B</Description>
+ <Version>2.0.0</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <Default>true</Default>
+ <UpdateFile CompressedSize="224" OS="Any" UncompressedSize="74"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>cfa136fa1d7a4196896c90af72d510727ba799ae</SHA1>
+ <Virtual>true</Virtual>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>B.subcomponent</Name>
+ <DisplayName>Subcomponent of B</DisplayName>
+ <Description>Example non-virtual subcomponent of B</Description>
+ <Version>2.0.0</Version>
+ <ReleaseDate>2015-01-01</ReleaseDate>
+ <UpdateFile CompressedSize="224" OS="Any" UncompressedSize="74"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>cfa136fa1d7a4196896c90af72d510727ba799ae</SHA1>
+ </PackageUpdate>
+</Updates>