summaryrefslogtreecommitdiffstats
path: root/src/VBox/Installer/darwin/VirtualBox_mpkg/distribution.dist
blob: bfa7cead5b627ffcb67d9b62418ddde8abb74250 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (C) 2008-2023 Oracle and/or its affiliates.

    This file is part of VirtualBox base platform packages, as
    available from https://www.virtualbox.org.

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation, in version 3 of the
    License.

    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, see <https://www.gnu.org/licenses>.

    SPDX-License-Identifier: GPL-3.0-only
-->
<installer-gui-script minSpecVersion="1.0">
    <title>VirtualBox_title</title>
    <options customize="allow" rootVolumeOnly="true" hostArchitectures="@VBOX_ARCH_LIST@"/>
    <installation-check script="checkPrerequisite()"></installation-check>
    <domains enable_anywhere="false" enable_currentUserHome="false" enable_localSystem="true"/>
    <script>
//<![CDATA[
    /* js:pkmk:start */
    function checkPrerequisite()
    {
       try
       {
           test = system.version['ProductVersion'];
           system.log("OS version detected: " + test);
           result = (system.compareVersions(test, '10.9') >= 0);
       } catch (e) { system.log(e); result = false; }

       if (!result)
       {
           my.result.type = 'Fatal';
           my.result.title = system.localizedString('UNSUPPORTED_OS_TLE');
           my.result.message = system.localizedString('UNSUPPORTED_OS_MSG');
           return result;
       }

       try
       {
           test = system.sysctl('hw.machine');
           system.log("Hardware architecture detected: " + test);
           result = (test == '@VBOX_TARGET_ARCH@');
       } catch (e) { system.log(e); result = false; }

       if (!result)
       {
           my.result.type = 'Fatal';
           my.result.title = system.localizedString('UNSUPPORTED_HW_MACHINE_TLE');
           my.result.message = system.localizedString('UNSUPPORTED_HW_MACHINE_MSG');
           return result;
       }

       try
       {
           /* Embedded scripts are not available here. Instead, run command to check for running VMs or running VBOX instance */
           runAppArr = system.applications.all()
           for (let i = 0; i < runAppArr.length; i++)
           {
                if (runAppArr[i]["FileCreator"] == "VBOX" || runAppArr[i]["FileCreator"] == "VBVM")
                {
                    result = false;
                }
           }
           system.log("system.applications check => result=" + result);
       } catch (e) { system.log(e); result = false; }

       if (!result)
       {

           my.result.type = 'Fatal';
           my.result.title = system.localizedString('RUNNING_VMS_TLE');
           my.result.message = system.localizedString('RUNNING_VMS_MSG');
           return result;
       }

       system.log("result:" + result);
       return result;
    }
    /* js:pkmk:end */
//]]>
    </script>
    <background file="background.tif" alignment="topleft" scaling="none"/>
    <welcome file="Welcome.rtf" mime-type="text/rtf" uti="public.rtf"/>
    <choices-outline>
        <line choice="choiceVBoxKEXTs"></line>
        <line choice="choiceVBox"></line>
        <line choice="choiceVBoxCLI"></line>
        <line choice="choiceOSXFuseCore"></line>
    </choices-outline>
    <choice id="choiceVBoxKEXTs"   title="choiceVBoxKEXTs_title"   description="choiceVBoxKEXTs_msg"   start_selected="true" start_enabled="true" start_visible="true">
        <pkg-ref id="org.virtualbox.pkg.vboxkexts"></pkg-ref>
    </choice>
    <choice id="choiceVBox"        title="choiceVBox_title"        description="choiceVBox_msg"        start_selected="true" start_enabled="false" start_visible="true">
        <pkg-ref id="org.virtualbox.pkg.virtualbox"></pkg-ref>
    </choice>
    <choice id="choiceVBoxCLI"     title="choiceVBoxCLI_title"     description="choiceVBoxCLI_msg"     start_selected="true" start_enabled="true" start_visible="true">
        <pkg-ref id="org.virtualbox.pkg.virtualboxcli"></pkg-ref>
    </choice>
    <choice id="choiceOSXFuseCore" title="choiceOSXFuseCore_title" description="choiceOSXFuseCore_msg" start_selected="true" start_enabled="true" start_visible="true">
        <pkg-ref id="com.github.osxfuse.pkg.Core"></pkg-ref>
    </choice>
    <pkg-ref id="org.virtualbox.pkg.vboxkexts" auth="Root">file:./Contents/Packages/VBoxKEXTs.pkg</pkg-ref>
    <pkg-ref id="org.virtualbox.pkg.virtualbox" auth="Root">file:./Contents/Packages/VirtualBox.pkg</pkg-ref>
    <pkg-ref id="org.virtualbox.pkg.virtualboxcli" auth="Root">file:./Contents/Packages/VirtualBoxCLI.pkg</pkg-ref>
    <pkg-ref id="com.github.osxfuse.pkg.Core" auth="Root">file:./Contents/Packages/OSXFuseCore.pkg</pkg-ref>
</installer-gui-script>