fvarrui / JavaPackager

:package: Gradle/Maven plugin to package Java applications as native Windows, MacOS, or Linux executables and create installers for them.
GNU General Public License v3.0
1.07k stars 133 forks source link

Package Artifact as Windows MergeModule? #47

Closed rhaley-starfish closed 4 years ago

rhaley-starfish commented 4 years ago

Hi,

I've got a fair bit of experience with WIX through Visual Studio and I like to use merge modules instead of an MSI so they can be added to a larger installer package. Is it possible to use JavaPackager to output as a MergeModule instead of a full MSI?

Thanks! Russ

fvarrui commented 4 years ago

Hi Russ,

I have to say that I'm far to be a proficient WIX user 😃, but I think that we can do it.

JavaPackager uses a Velocity template, which is merged with the information provided to the plugin and generates a WXS file (required for WIX) in target\assets.

Maybe you can adapt this file to meet your needs or provide an example.

Also, you can provide your own customized Velocity template (in your case: ${assetsDir}\windows\wxs.vtl).

assetsDir = ${basedir}/assets by default

Thanks!

fvarrui commented 4 years ago

Hi again, I've been doing some research and I found this example:

<?xml version="1.0" encoding="UTF-8"?>
<?define var.path= "..\bin\Release" ?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
    <Module Id='TestModule' Language='1033' Version='1.0.0.0'>
        <Package Id='175a50ca-5130-402a-a825-cfa13174ee27'
            Description='Basic Merge Module'
            Comments='A basic Windows Installer Merge Module'
            Manufacturer='Apple' InstallerVersion='200' />
        <Directory Id='TARGETDIR' Name='SourceDir'>
            <Directory Id='MyModuleDirectory' Name='TestModule'>
                <Component Id='MyModuleComponent'
                    Guid='175a50ca-5130-402a-a825-cfa13174ee28'>
                    <File Id='abc' Name='abc.exe' Source='$(var.path)\abc.exe' />
                </Component>
            </Directory>
        </Directory>
    </Module>
</Wix>

I've seen that the only difference between generating an MSI file or an MSM is that the Module tag is used instead of Product, and that Feature tag is not required. Is that right?

rhaley-starfish commented 4 years ago

Yes, that's more or less it. The main installer handles features. While it is by no means a definitive example, you can find my complete WinLua installer here:

https://github.com/WinLua/WinLua-Source-Code/blob/master/WinLua-Release3/WinLua-Installer/

The install package can be downloaded at http://www.winlua.net if you'd like to see it in action.

A simple sample merge module would be Lua53MM:

https://github.com/WinLua/WinLua-Source-Code/blob/master/WinLua-Release3/WinLua-Installer/WinLua53MM/WinLua53MM.wxs

And here is an example features file that links the merge modules with the main installer:

https://github.com/WinLua/WinLua-Source-Code/blob/master/WinLua-Release3/WinLua-Installer/WinLua-Installer/Code/Features.wxs

With the main wix file here:

https://github.com/WinLua/WinLua-Source-Code/blob/master/WinLua-Release3/WinLua-Installer/WinLua-Installer/Code/Product.wxs

The compile time is slower when using merge modules, but it give the developer and users flexibility with an installer (My next step with WinLua is to allow for remote just-in-time download of merge modules). As a suggestion, you could use the installer/merge module pattern for the main msi feature, and if the user selects merge module, then it just doesn't create product file?

I'd be happy to answer any questions you have. Feel free to pillage.

fvarrui commented 4 years ago

Wow! Nice job! You may give me some WIX lessons.

As a suggestion, you could use the installer/merge module pattern for the main msi feature, and if the user selects merge module, then it just doesn't create product file?

Following your advice, I'm going to implement this new feature like this. I think to offer Merge Modules as a new optional installation artifact produced by JavaPackager. So, you'll can generate MSI and MSM files, or one or none of them.

I'm going to leave this issue open, so when I implement this new feature you can test it before release to production.

Thanks for your support!

fvarrui commented 4 years ago

I forgot it! I hope you can help with some warning messages when "lighting" with my generated WXS file:

Commands

candle -out C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorld.wixobj C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorld.wxs
light -spdb -out C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld_1.0.0.msi C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorld.wixobj

Output

Last command prints next messages:

[info]         C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorld.wxs(433) : warning LGHT1076 : ICE61: This product should remove only older versions of itself. The Maximum version is not less than the current product. (1.0.0.0 1.0.0.0)
[info]         C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorld.wxs(324) : warning LGHT1076 : ICE69: Mismatched component reference. Entry 'ApplicationStartMenuShortcut' of the Shortcut table belongs to component 'ApplicationShortcut'. However, the formatted string in column 'Target' references file 'exeFile' which belongs to component '_f55db636_a6d7_42b9_8ade_d4f59ccf3db1'. Components are in the same feature.

WXS file:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Codepage="1252" Id="*" Language="1033" Manufacturer="ACME" Name="HelloWorld" UpgradeCode="b669dded-a1b8-46b2-9b1d-346fd78d5ea8" Version="1.0.0.0">
        <Package Compressed="yes" InstallScope="perMachine" InstallerVersion="200" Languages="1033" Platform="x64" SummaryCodepage="1252"/>
        <Media Cabinet="Application.cab" EmbedCab="yes" Id="1"/>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFiles64Folder">
                <Directory Id="INSTALLDIR" Name="HelloWorld">
                    <Component Guid="f55db636-a6d7-42b9-8ade-d4f59ccf3db1" Id="_f55db636_a6d7_42b9_8ade_d4f59ccf3db1" Win64="yes">
                        <File DiskId="1" Id="exeFile" KeyPath="yes" Name="HelloWorld.exe" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\HelloWorld.exe"/>
                    </Component>
                    <Component Guid="cfa1c8d4-727a-45f4-b69e-461aae01cc3d" Id="_cfa1c8d4_727a_45f4_b69e_461aae01cc3d" Win64="yes">
                        <File DiskId="1" Id="_79627df1_0b84_4199_af7e_268638097a03" KeyPath="yes" Name="HelloWorld.ico" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\HelloWorld.ico"/>
                    </Component>
                    <Component Guid="0454231c-0c1d-464f-9e06-ec0104505e43" Id="_0454231c_0c1d_464f_9e06_ec0104505e43" Win64="yes">
                        <File DiskId="1" Id="_56304ecd_8b68_44ab_8dc3_e3d5395ce6b3" KeyPath="yes" Name="info.txt" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\info.txt"/>
                    </Component>
                    <Directory Id="_8c4f05fa_d435_4987_9087_fa07b6ba04c4" Name="jre">
                        <Directory Id="_58fa8729_cd2a_449a_92db_76e576d0b8c7" Name="bin">
                            <Component Guid="63d53501-222d-476c-820a-bdbab749e43e" Id="_63d53501_222d_476c_820a_bdbab749e43e" Win64="yes">
                                <File DiskId="1" Id="_0acb77ae_2300_4079_ab47_eef7c1fb6cf8" KeyPath="yes" Name="api-ms-win-core-console-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-console-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="d176fa01-4e6b-4f17-a21a-1eb9ec3daa16" Id="_d176fa01_4e6b_4f17_a21a_1eb9ec3daa16" Win64="yes">
                                <File DiskId="1" Id="_aad6eb27_6fcf_4727_89b3_0fc0c0983e76" KeyPath="yes" Name="api-ms-win-core-datetime-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-datetime-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="13ad91cf-74ac-47d1-a8b3-c9185fa81e0d" Id="_13ad91cf_74ac_47d1_a8b3_c9185fa81e0d" Win64="yes">
                                <File DiskId="1" Id="_a9be6165_df7e_4fd1_9c64_9216d54104df" KeyPath="yes" Name="api-ms-win-core-debug-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-debug-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="9f7a9551-bac1-496f-879b-955d56cf53bb" Id="_9f7a9551_bac1_496f_879b_955d56cf53bb" Win64="yes">
                                <File DiskId="1" Id="_2a2ed82b_604d_43c6_a4ae_9760de535660" KeyPath="yes" Name="api-ms-win-core-errorhandling-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-errorhandling-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="df7c66c9-919a-4dae-bad3-76076794ee47" Id="_df7c66c9_919a_4dae_bad3_76076794ee47" Win64="yes">
                                <File DiskId="1" Id="_900821fd_6bea_4d27_9876_480ccecfab71" KeyPath="yes" Name="api-ms-win-core-file-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-file-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="7f6e6bd4-c898-4d87-b437-ab37ba30f1d2" Id="_7f6e6bd4_c898_4d87_b437_ab37ba30f1d2" Win64="yes">
                                <File DiskId="1" Id="_56c0bc59_b842_4fe3_af70_09ce92178b94" KeyPath="yes" Name="api-ms-win-core-file-l1-2-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-file-l1-2-0.dll"/>
                            </Component>
                            <Component Guid="a0f4eaae-bcbe-47ef-b0f5-0a064cfe012b" Id="_a0f4eaae_bcbe_47ef_b0f5_0a064cfe012b" Win64="yes">
                                <File DiskId="1" Id="_47c2d8e2_7964_43b3_bfaf_6442f122c4f6" KeyPath="yes" Name="api-ms-win-core-file-l2-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-file-l2-1-0.dll"/>
                            </Component>
                            <Component Guid="4249c55e-def8-4593-9eae-2254194bdb91" Id="_4249c55e_def8_4593_9eae_2254194bdb91" Win64="yes">
                                <File DiskId="1" Id="_6bdf1a54_b30f_44b5_91dc_e3922f5c80be" KeyPath="yes" Name="api-ms-win-core-handle-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-handle-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="42504ac4-ca7e-4814-8fb1-3e883be51df1" Id="_42504ac4_ca7e_4814_8fb1_3e883be51df1" Win64="yes">
                                <File DiskId="1" Id="_f3ff32e1_2278_4048_875a_92b5ac0e2905" KeyPath="yes" Name="api-ms-win-core-heap-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-heap-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="bde00f9e-52f3-445d-b9e1-0839e7e29e50" Id="_bde00f9e_52f3_445d_b9e1_0839e7e29e50" Win64="yes">
                                <File DiskId="1" Id="_4c7a29fd_60c5_4d4b_aa16_b061c34e73c9" KeyPath="yes" Name="api-ms-win-core-interlocked-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-interlocked-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="00b0b5c0-9358-426f-ae85-7e70595ce922" Id="_00b0b5c0_9358_426f_ae85_7e70595ce922" Win64="yes">
                                <File DiskId="1" Id="_9bc191f7_00a0_403d_97ac_7f64f92f1e38" KeyPath="yes" Name="api-ms-win-core-libraryloader-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-libraryloader-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="c06f259f-86fe-4e9d-9356-106b4a5b2e11" Id="_c06f259f_86fe_4e9d_9356_106b4a5b2e11" Win64="yes">
                                <File DiskId="1" Id="_57f3bc8b_cfd3_4091_b635_69f806b6cd2a" KeyPath="yes" Name="api-ms-win-core-localization-l1-2-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-localization-l1-2-0.dll"/>
                            </Component>
                            <Component Guid="71cf3528-0e7a-4c26-aac8-7553b23ee204" Id="_71cf3528_0e7a_4c26_aac8_7553b23ee204" Win64="yes">
                                <File DiskId="1" Id="_403bb8db_9a81_4b63_bb32_10cd2b5a1604" KeyPath="yes" Name="api-ms-win-core-memory-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-memory-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="332c368b-5364-4c35-a906-09701a1af8a4" Id="_332c368b_5364_4c35_a906_09701a1af8a4" Win64="yes">
                                <File DiskId="1" Id="_b5120e86_ea60_4615_8d69_d562dcb77575" KeyPath="yes" Name="api-ms-win-core-namedpipe-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-namedpipe-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="5bb5a3a4-723a-4292-b48d-37433e2b9703" Id="_5bb5a3a4_723a_4292_b48d_37433e2b9703" Win64="yes">
                                <File DiskId="1" Id="_a62c7e2c_2e03_47d2_bab1_5b1e88170d1b" KeyPath="yes" Name="api-ms-win-core-processenvironment-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-processenvironment-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="f111da18-e0c1-488a-96c4-f0c0b4fcf937" Id="_f111da18_e0c1_488a_96c4_f0c0b4fcf937" Win64="yes">
                                <File DiskId="1" Id="_06561753_5ec7_4d3a_a777_61c47a2397ae" KeyPath="yes" Name="api-ms-win-core-processthreads-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-processthreads-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="676634b2-5ace-41e1-a017-1b05d37e18b0" Id="_676634b2_5ace_41e1_a017_1b05d37e18b0" Win64="yes">
                                <File DiskId="1" Id="_962aaa6c_3909_4fb5_9931_82b76de01be0" KeyPath="yes" Name="api-ms-win-core-processthreads-l1-1-1.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-processthreads-l1-1-1.dll"/>
                            </Component>
                            <Component Guid="7408a3ef-a9ba-4b35-a431-111b88b71757" Id="_7408a3ef_a9ba_4b35_a431_111b88b71757" Win64="yes">
                                <File DiskId="1" Id="_0c45d444_e1dc_4ca6_b997_09a022119829" KeyPath="yes" Name="api-ms-win-core-profile-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-profile-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="306e7f27-6075-4aec-9ca2-b676ac2480e4" Id="_306e7f27_6075_4aec_9ca2_b676ac2480e4" Win64="yes">
                                <File DiskId="1" Id="_8de36ebd_bcc9_40b6_bada_5a5d6f59a9d4" KeyPath="yes" Name="api-ms-win-core-rtlsupport-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-rtlsupport-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="6bd58a97-92c5-4df1-bca6-23c77f1dd8e0" Id="_6bd58a97_92c5_4df1_bca6_23c77f1dd8e0" Win64="yes">
                                <File DiskId="1" Id="_d4d7deaa_30d9_447b_8980_206e0ddb11a5" KeyPath="yes" Name="api-ms-win-core-string-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-string-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="4dd9cce3-10b2-42d4-a88d-c7432e8b4784" Id="_4dd9cce3_10b2_42d4_a88d_c7432e8b4784" Win64="yes">
                                <File DiskId="1" Id="_735994bc_af1d_470f_ba04_9eb3e47aed65" KeyPath="yes" Name="api-ms-win-core-synch-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-synch-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="aa32cfe0-8e33-468e-a7b9-046628ff9808" Id="_aa32cfe0_8e33_468e_a7b9_046628ff9808" Win64="yes">
                                <File DiskId="1" Id="_bcaaadde_49ca_4c8d_bfb2_eb06357def48" KeyPath="yes" Name="api-ms-win-core-synch-l1-2-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-synch-l1-2-0.dll"/>
                            </Component>
                            <Component Guid="265f0524-f0a3-4f7e-b8ec-0f66f55417e5" Id="_265f0524_f0a3_4f7e_b8ec_0f66f55417e5" Win64="yes">
                                <File DiskId="1" Id="_86faf364_0b11_4fa5_b711_b3f02999335f" KeyPath="yes" Name="api-ms-win-core-sysinfo-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-sysinfo-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="3750d7f2-b0ce-4527-942c-e814a45f3fcc" Id="_3750d7f2_b0ce_4527_942c_e814a45f3fcc" Win64="yes">
                                <File DiskId="1" Id="_019d973e_e2eb_44c4_9570_b7c5b343691a" KeyPath="yes" Name="api-ms-win-core-timezone-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-timezone-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="15cb6b8f-ae5a-4b59-9f92-33cfd09fc7ff" Id="_15cb6b8f_ae5a_4b59_9f92_33cfd09fc7ff" Win64="yes">
                                <File DiskId="1" Id="_7fa8d673_a91f_48a2_ac22_c966bebe1b9c" KeyPath="yes" Name="api-ms-win-core-util-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-core-util-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="1aa17642-639d-4bd5-bb3c-8a42b7dd81c8" Id="_1aa17642_639d_4bd5_bb3c_8a42b7dd81c8" Win64="yes">
                                <File DiskId="1" Id="_4150a7da_f0ae_471f_8df1_61eef31a8435" KeyPath="yes" Name="api-ms-win-crt-conio-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-conio-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="72df0db6-af65-4eb4-a99d-7314ea93c507" Id="_72df0db6_af65_4eb4_a99d_7314ea93c507" Win64="yes">
                                <File DiskId="1" Id="_851d29e8_bb6c_4525_9beb_097f8f57abf6" KeyPath="yes" Name="api-ms-win-crt-convert-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-convert-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="5de1a41c-e9a2-449f-a147-551e3e340f7c" Id="_5de1a41c_e9a2_449f_a147_551e3e340f7c" Win64="yes">
                                <File DiskId="1" Id="_1a2b2a41_c528_4577_8880_a56bc22db0bb" KeyPath="yes" Name="api-ms-win-crt-environment-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-environment-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="2cb964b9-cde7-42e5-96ae-af41ccb221a6" Id="_2cb964b9_cde7_42e5_96ae_af41ccb221a6" Win64="yes">
                                <File DiskId="1" Id="_6b626f28_a76a_46eb_9798_5c04860cda61" KeyPath="yes" Name="api-ms-win-crt-filesystem-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-filesystem-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="c301392e-e0e9-4140-b1aa-d1851c214154" Id="_c301392e_e0e9_4140_b1aa_d1851c214154" Win64="yes">
                                <File DiskId="1" Id="_285e8aa7_4383_4507_9133_a81b4de9a5cf" KeyPath="yes" Name="api-ms-win-crt-heap-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-heap-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="240c6271-9163-4c37-ab3e-4b7b555e6e8b" Id="_240c6271_9163_4c37_ab3e_4b7b555e6e8b" Win64="yes">
                                <File DiskId="1" Id="_5cab3a9f_a0c9_4cd9_9a7c_479139047c1c" KeyPath="yes" Name="api-ms-win-crt-locale-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-locale-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="059d614a-e033-4b00-936f-56ccf613f263" Id="_059d614a_e033_4b00_936f_56ccf613f263" Win64="yes">
                                <File DiskId="1" Id="_6c7a6286_5ea8_4d1d_b3aa_b369319760ba" KeyPath="yes" Name="api-ms-win-crt-math-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-math-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="b3384a7f-0f3f-42a0-b23c-86c2a1fc19d7" Id="_b3384a7f_0f3f_42a0_b23c_86c2a1fc19d7" Win64="yes">
                                <File DiskId="1" Id="_c5de026c_4d91_415d_a724_5e84e5510f87" KeyPath="yes" Name="api-ms-win-crt-multibyte-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-multibyte-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="75a2fb99-1f00-4dab-b5e7-061b22b22e8e" Id="_75a2fb99_1f00_4dab_b5e7_061b22b22e8e" Win64="yes">
                                <File DiskId="1" Id="_b221f8be_1d5b_4355_9134_ec7f9044fca1" KeyPath="yes" Name="api-ms-win-crt-private-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-private-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="cc395b64-dd27-4ac0-b794-607d50118a7d" Id="_cc395b64_dd27_4ac0_b794_607d50118a7d" Win64="yes">
                                <File DiskId="1" Id="_62275374_fed0_43e3_b90d_218f1005730a" KeyPath="yes" Name="api-ms-win-crt-process-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-process-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="025c63b5-a1d4-4fe5-a856-4eda2562daf0" Id="_025c63b5_a1d4_4fe5_a856_4eda2562daf0" Win64="yes">
                                <File DiskId="1" Id="_e1c473cf_9152_4735_a9e4_9df721fba54c" KeyPath="yes" Name="api-ms-win-crt-runtime-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-runtime-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="db602361-c558-4d6c-93fd-1afca8c834ce" Id="_db602361_c558_4d6c_93fd_1afca8c834ce" Win64="yes">
                                <File DiskId="1" Id="_90cadbf4_78d0_4731_9d1a_6b5c8fd286a5" KeyPath="yes" Name="api-ms-win-crt-stdio-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-stdio-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="f1b71963-54a6-4555-aca5-90e0ce99f29a" Id="_f1b71963_54a6_4555_aca5_90e0ce99f29a" Win64="yes">
                                <File DiskId="1" Id="_aff35742_fc28_417b_a118_63d2380ad508" KeyPath="yes" Name="api-ms-win-crt-string-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-string-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="493a3f80-3a66-4a8c-90a3-063eea541a5e" Id="_493a3f80_3a66_4a8c_90a3_063eea541a5e" Win64="yes">
                                <File DiskId="1" Id="_9f23715c_1c84_4b25_8643_06aa14d321b6" KeyPath="yes" Name="api-ms-win-crt-time-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-time-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="2d2870cd-e57d-4eef-9dd1-81523627082a" Id="_2d2870cd_e57d_4eef_9dd1_81523627082a" Win64="yes">
                                <File DiskId="1" Id="_057a7fa9_880a_4a78_8e85_d294e458dc33" KeyPath="yes" Name="api-ms-win-crt-utility-l1-1-0.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\api-ms-win-crt-utility-l1-1-0.dll"/>
                            </Component>
                            <Component Guid="ebb0b3a4-3a54-4145-909f-b375722450b9" Id="_ebb0b3a4_3a54_4145_909f_b375722450b9" Win64="yes">
                                <File DiskId="1" Id="_58281948_cdd4_4ba7_a16d_c61ae66bef32" KeyPath="yes" Name="awt.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\awt.dll"/>
                            </Component>
                            <Directory Id="_3ad5dba1_57e8_4099_893a_700026b45ef5" Name="client">
                                <Component Guid="2d4b002e-0927-4f87-b35d-6917d3b60ed7" Id="_2d4b002e_0927_4f87_b35d_6917d3b60ed7" Win64="yes">
                                    <File DiskId="1" Id="_ac0b0935_beed_45e4_b35d_4e29aed72afb" KeyPath="yes" Name="jvm.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\client\jvm.dll"/>
                                </Component>
                            </Directory>
                            <Component Guid="516a2455-3ebb-4dce-b546-27ad424cc8b1" Id="_516a2455_3ebb_4dce_b546_27ad424cc8b1" Win64="yes">
                                <File DiskId="1" Id="_1e855a4f_6fed_4cf7_b91c_029759eee901" KeyPath="yes" Name="fontmanager.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\fontmanager.dll"/>
                            </Component>
                            <Component Guid="bc9da95c-fef6-4e16-845f-f9087a46a11d" Id="_bc9da95c_fef6_4e16_845f_f9087a46a11d" Win64="yes">
                                <File DiskId="1" Id="_00cd99d2_2e6f_4215_b950_c1725cbefba5" KeyPath="yes" Name="freetype.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\freetype.dll"/>
                            </Component>
                            <Component Guid="e6df582b-df3c-4785-be81-f0960fd6fd9f" Id="_e6df582b_df3c_4785_be81_f0960fd6fd9f" Win64="yes">
                                <File DiskId="1" Id="_f4901c76_958d_4b25_a367_f3259434bdb6" KeyPath="yes" Name="java.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\java.dll"/>
                            </Component>
                            <Component Guid="194eaec8-a1c7-48ca-bd34-4c76b3f30d67" Id="_194eaec8_a1c7_48ca_bd34_4c76b3f30d67" Win64="yes">
                                <File DiskId="1" Id="_13e42d45_318c_4690_b04a_139719f49d70" KeyPath="yes" Name="java.exe" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\java.exe"/>
                            </Component>
                            <Component Guid="93253024-3b97-46bd-9ef3-74c5b1302c21" Id="_93253024_3b97_46bd_9ef3_74c5b1302c21" Win64="yes">
                                <File DiskId="1" Id="_9b75ac90_4b8d_47aa_a60e_6663992a1ffe" KeyPath="yes" Name="javajpeg.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\javajpeg.dll"/>
                            </Component>
                            <Component Guid="2dab0bbc-1dfc-42f9-9118-0d98e66bc8ec" Id="_2dab0bbc_1dfc_42f9_9118_0d98e66bc8ec" Win64="yes">
                                <File DiskId="1" Id="_974e21fb_b9a2_40ee_98f1_a9883fa885c4" KeyPath="yes" Name="javaw.exe" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\javaw.exe"/>
                            </Component>
                            <Component Guid="05e1bbe3-dc5f-49f3-ba27-1f5e69f07bca" Id="_05e1bbe3_dc5f_49f3_ba27_1f5e69f07bca" Win64="yes">
                                <File DiskId="1" Id="_188f06ff_f930_450f_b257_58cabbf831c6" KeyPath="yes" Name="jawt.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\jawt.dll"/>
                            </Component>
                            <Component Guid="166a7b18-3d59-4cac-b58b-44cef46b8b06" Id="_166a7b18_3d59_4cac_b58b_44cef46b8b06" Win64="yes">
                                <File DiskId="1" Id="_1d821b4a_1885_4be4_b8c7_8e2881a57330" KeyPath="yes" Name="jimage.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\jimage.dll"/>
                            </Component>
                            <Component Guid="b8327fe0-ef9d-4b2b-a2b4-72c192f2eb28" Id="_b8327fe0_ef9d_4b2b_a2b4_72c192f2eb28" Win64="yes">
                                <File DiskId="1" Id="_b2dbd130_b6ea_435a_9f59_f03a2c7dfe49" KeyPath="yes" Name="jli.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\jli.dll"/>
                            </Component>
                            <Component Guid="f36f71e3-a978-4d5a-b197-ea23a3fe3d2c" Id="_f36f71e3_a978_4d5a_b197_ea23a3fe3d2c" Win64="yes">
                                <File DiskId="1" Id="_2a3b5f9a_e20b_4470_96ef_fff6b4d90788" KeyPath="yes" Name="jsound.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\jsound.dll"/>
                            </Component>
                            <Component Guid="f8b68c83-6dd4-412b-bede-27143825bccb" Id="_f8b68c83_6dd4_412b_bede_27143825bccb" Win64="yes">
                                <File DiskId="1" Id="_3d6f796e_454a_4502_b93b_9883ff3743be" KeyPath="yes" Name="keytool.exe" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\keytool.exe"/>
                            </Component>
                            <Component Guid="60ebb057-6cb3-4331-a5e3-9521cb436f32" Id="_60ebb057_6cb3_4331_a5e3_9521cb436f32" Win64="yes">
                                <File DiskId="1" Id="_6c4f5e3d_cacb_4317_a94f_d0800fbb591b" KeyPath="yes" Name="lcms.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\lcms.dll"/>
                            </Component>
                            <Component Guid="4ccd8a2a-045e-4eb6-b5b6-64ed61e69d00" Id="_4ccd8a2a_045e_4eb6_b5b6_64ed61e69d00" Win64="yes">
                                <File DiskId="1" Id="_2cd31b18_3c5d_41d9_b832_152d50250c64" KeyPath="yes" Name="mlib_image.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\mlib_image.dll"/>
                            </Component>
                            <Component Guid="4473ea12-bb2c-4fc0-9805-e7e191f59e79" Id="_4473ea12_bb2c_4fc0_9805_e7e191f59e79" Win64="yes">
                                <File DiskId="1" Id="_1d8e413d_0818_412b_827f_25f6cfc466c3" KeyPath="yes" Name="msvcp140.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\msvcp140.dll"/>
                            </Component>
                            <Component Guid="14ce1198-97c8-4ed8-a965-305f0c8073d5" Id="_14ce1198_97c8_4ed8_a965_305f0c8073d5" Win64="yes">
                                <File DiskId="1" Id="_01e7fab5_bee5_4916_87f3_a168a16275f3" KeyPath="yes" Name="net.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\net.dll"/>
                            </Component>
                            <Component Guid="55d2028c-5ccf-4157-943b-f554a20e884e" Id="_55d2028c_5ccf_4157_943b_f554a20e884e" Win64="yes">
                                <File DiskId="1" Id="_96d98ee2_4cf1_4388_9d75_dae26c9d13b0" KeyPath="yes" Name="nio.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\nio.dll"/>
                            </Component>
                            <Component Guid="ad3379e1-c7eb-4293-b931-e68ccb98756a" Id="_ad3379e1_c7eb_4293_b931_e68ccb98756a" Win64="yes">
                                <File DiskId="1" Id="_f7b64a5d_42f2_4776_9cd1_8a81f98c0dfa" KeyPath="yes" Name="prefs.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\prefs.dll"/>
                            </Component>
                            <Directory Id="_88881b51_461c_4cee_b2ea_511bb4fd355a" Name="server">
                                <Component Guid="28f12d67-9091-43f2-9496-ac32147321e8" Id="_28f12d67_9091_43f2_9496_ac32147321e8" Win64="yes">
                                    <File DiskId="1" Id="_370cfb13_74ed_4afe_8378_789e55ab4b76" KeyPath="yes" Name="jvm.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\server\jvm.dll"/>
                                </Component>
                            </Directory>
                            <Component Guid="b248295a-e8f1-4c9b-bd62-271106de883c" Id="_b248295a_e8f1_4c9b_bd62_271106de883c" Win64="yes">
                                <File DiskId="1" Id="_6c8c903b_4d61_444d_8072_3739e0d802f7" KeyPath="yes" Name="splashscreen.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\splashscreen.dll"/>
                            </Component>
                            <Component Guid="a0040220-5fef-4d27-8f8c-5b9c95ae8577" Id="_a0040220_5fef_4d27_8f8c_5b9c95ae8577" Win64="yes">
                                <File DiskId="1" Id="_cf8bd730_a57d_4ee6_972d_bed51a5ad518" KeyPath="yes" Name="ucrtbase.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\ucrtbase.dll"/>
                            </Component>
                            <Component Guid="37cd2235-7628-4174-8c2a-c279f4ba608b" Id="_37cd2235_7628_4174_8c2a_c279f4ba608b" Win64="yes">
                                <File DiskId="1" Id="_3b6d457a_4984_4156_9abf_ff6b9996fa5e" KeyPath="yes" Name="vcruntime140.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\vcruntime140.dll"/>
                            </Component>
                            <Component Guid="2d91a1c9-f28a-414e-8cb1-3f0a51e036f6" Id="_2d91a1c9_f28a_414e_8cb1_3f0a51e036f6" Win64="yes">
                                <File DiskId="1" Id="_4b80d99a_e68f_4909_87ed_e51b77daf9d4" KeyPath="yes" Name="verify.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\verify.dll"/>
                            </Component>
                            <Component Guid="03524baa-70a3-4d8c-9823-f3c5a09371e2" Id="_03524baa_70a3_4d8c_9823_f3c5a09371e2" Win64="yes">
                                <File DiskId="1" Id="_221c9d34_2d3a_47b9_a1d0_c67cb8664ad5" KeyPath="yes" Name="zip.dll" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\bin\zip.dll"/>
                            </Component>
                        </Directory>
                        <Directory Id="_1e3ae31b_780f_4cb3_8dc8_8fe467f4986a" Name="conf">
                            <Component Guid="42e0982d-8f85-4b21-99ec-f6cd55e2fa48" Id="_42e0982d_8f85_4b21_99ec_f6cd55e2fa48" Win64="yes">
                                <File DiskId="1" Id="_67374091_1c3d_4894_9680_92a38f694ffe" KeyPath="yes" Name="net.properties" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\net.properties"/>
                            </Component>
                            <Directory Id="_dc43cc88_ce53_48f4_aafe_77e3b06c9c72" Name="security">
                                <Component Guid="a0a10fee-e021-4091-aed1-babc47289e73" Id="_a0a10fee_e021_4091_aed1_babc47289e73" Win64="yes">
                                    <File DiskId="1" Id="_077b345e_a964_41bc_be78_b12c85b9bab4" KeyPath="yes" Name="java.policy" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\java.policy"/>
                                </Component>
                                <Component Guid="f8c8384f-8e6b-4fbd-947c-039b9b803c75" Id="_f8c8384f_8e6b_4fbd_947c_039b9b803c75" Win64="yes">
                                    <File DiskId="1" Id="_eea14083_0f5d_4ad0_ba30_90c0dae5d6b6" KeyPath="yes" Name="java.security" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\java.security"/>
                                </Component>
                                <Directory Id="_6ec07fdf_8fae_4851_968b_d7b18889d299" Name="policy">
                                    <Directory Id="_8c946517_61df_4d06_848a_c5802446f30d" Name="limited">
                                        <Component Guid="dcdb918e-93d2-405a-a426-8a2b9d5172a0" Id="_dcdb918e_93d2_405a_a426_8a2b9d5172a0" Win64="yes">
                                            <File DiskId="1" Id="_57a8be7c_6cc4_4ede_a252_ea9d2ea1bc42" KeyPath="yes" Name="default_local.policy" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\policy\limited\default_local.policy"/>
                                        </Component>
                                        <Component Guid="ab2ac04e-3fa1-4af2-a976-224caeb36170" Id="_ab2ac04e_3fa1_4af2_a976_224caeb36170" Win64="yes">
                                            <File DiskId="1" Id="_8c8774c8_30a8_4ff2_9d49_cab110449afc" KeyPath="yes" Name="default_US_export.policy" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\policy\limited\default_US_export.policy"/>
                                        </Component>
                                        <Component Guid="44646737-9d4c-4405-a8f4-1d366e6e1a82" Id="_44646737_9d4c_4405_a8f4_1d366e6e1a82" Win64="yes">
                                            <File DiskId="1" Id="_9ad660bc_a895_440b_b583_7115b2964e56" KeyPath="yes" Name="exempt_local.policy" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\policy\limited\exempt_local.policy"/>
                                        </Component>
                                    </Directory>
                                    <Component Guid="1db29a2e-8801-4f19-ac11-0155042e3413" Id="_1db29a2e_8801_4f19_ac11_0155042e3413" Win64="yes">
                                        <File DiskId="1" Id="_d17fcc69_f155_4be7_bce6_b41b6881a7bd" KeyPath="yes" Name="README.txt" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\policy\README.txt"/>
                                    </Component>
                                    <Directory Id="_2412111b_02d9_4402_8713_b08fea51d893" Name="unlimited">
                                        <Component Guid="24f1e730-c604-4a47-bd2b-880f433d8399" Id="_24f1e730_c604_4a47_bd2b_880f433d8399" Win64="yes">
                                            <File DiskId="1" Id="_f90b453f_ace9_47dc_8612_e5d869d900bb" KeyPath="yes" Name="default_local.policy" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\policy\unlimited\default_local.policy"/>
                                        </Component>
                                        <Component Guid="d666b706-55e5-4b27-b035-762fd318ddb5" Id="_d666b706_55e5_4b27_b035_762fd318ddb5" Win64="yes">
                                            <File DiskId="1" Id="_2e968e5c_2e57_4e32_b1d3_f3001fd6e256" KeyPath="yes" Name="default_US_export.policy" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\security\policy\unlimited\default_US_export.policy"/>
                                        </Component>
                                    </Directory>
                                </Directory>
                            </Directory>
                            <Component Guid="0a1cc9f9-bc05-4f32-bc52-6940b0fddcf3" Id="_0a1cc9f9_bc05_4f32_bc52_6940b0fddcf3" Win64="yes">
                                <File DiskId="1" Id="_f6a98781_4657_4bda_a816_0256312e8130" KeyPath="yes" Name="sound.properties" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\conf\sound.properties"/>
                            </Component>
                        </Directory>
                        <Directory Id="_2b663c40_ad7d_404a_ae61_caa24d5e4509" Name="lib">
                            <Component Guid="654e0f1f-0c4a-4652-8f54-c992bf23a633" Id="_654e0f1f_0c4a_4652_8f54_c992bf23a633" Win64="yes">
                                <File DiskId="1" Id="_4b53bfd6_863b_487b_901e_e4e84ad5b425" KeyPath="yes" Name="classlist" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\classlist"/>
                            </Component>
                            <Component Guid="94fd6f5e-b7d5-4f3c-bbba-618e7130375e" Id="_94fd6f5e_b7d5_4f3c_bbba_618e7130375e" Win64="yes">
                                <File DiskId="1" Id="_b4f760b3_b1c8_42de_b3a4_1eefc4336dfa" KeyPath="yes" Name="fontconfig.bfc" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\fontconfig.bfc"/>
                            </Component>
                            <Component Guid="db62ad85-8137-47d3-9173-aedc2f88f477" Id="_db62ad85_8137_47d3_9173_aedc2f88f477" Win64="yes">
                                <File DiskId="1" Id="_9ba5671d_587e_4305_9969_f9e8ca38da1a" KeyPath="yes" Name="fontconfig.properties.src" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\fontconfig.properties.src"/>
                            </Component>
                            <Component Guid="39acc2e8-f2ea-4c2c-8b28-11fd2ac193d1" Id="_39acc2e8_f2ea_4c2c_8b28_11fd2ac193d1" Win64="yes">
                                <File DiskId="1" Id="_aa16ed42_847c_4b64_a758_766f6413cacc" KeyPath="yes" Name="jawt.lib" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\jawt.lib"/>
                            </Component>
                            <Component Guid="56c8fa17-59f6-4f0a-a8e2-4f88d802d53a" Id="_56c8fa17_59f6_4f0a_a8e2_4f88d802d53a" Win64="yes">
                                <File DiskId="1" Id="_909bc7d2_17ba_46d7_aadd_9d5898690c01" KeyPath="yes" Name="jrt-fs.jar" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\jrt-fs.jar"/>
                            </Component>
                            <Component Guid="90d7c4b4-3767-49ad-9d8d-c82f8a53605c" Id="_90d7c4b4_3767_49ad_9d8d_c82f8a53605c" Win64="yes">
                                <File DiskId="1" Id="_81b10b16_1477_4164_a177_377cdbf66cc7" KeyPath="yes" Name="jvm.cfg" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\jvm.cfg"/>
                            </Component>
                            <Component Guid="f10be975-6e7c-4a44-885b-1a116a9ffd55" Id="_f10be975_6e7c_4a44_885b_1a116a9ffd55" Win64="yes">
                                <File DiskId="1" Id="_c04ece23_a91a_4264_96ca_d461ab1e9155" KeyPath="yes" Name="jvm.lib" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\jvm.lib"/>
                            </Component>
                            <Component Guid="985befca-b068-4253-9d59-9313cce6549c" Id="_985befca_b068_4253_9d59_9313cce6549c" Win64="yes">
                                <File DiskId="1" Id="_3b309d2d_c109_4549_935c_deae9177061c" KeyPath="yes" Name="modules" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\modules"/>
                            </Component>
                            <Component Guid="26335c64-d4f1-45d8-8613-751a1ea8995e" Id="_26335c64_d4f1_45d8_8613_751a1ea8995e" Win64="yes">
                                <File DiskId="1" Id="_3a40187f_6cdf_4c55_8a1a_d1f2a89b17ec" KeyPath="yes" Name="psfont.properties.ja" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\psfont.properties.ja"/>
                            </Component>
                            <Component Guid="cccad6d7-d520-46c3-863c-6a06c3746f7d" Id="_cccad6d7_d520_46c3_863c_6a06c3746f7d" Win64="yes">
                                <File DiskId="1" Id="_94605481_abba_48f9_9bbc_415ed6872198" KeyPath="yes" Name="psfontj2d.properties" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\psfontj2d.properties"/>
                            </Component>
                            <Directory Id="_48e00eca_4876_46f6_b162_1d50333a1b03" Name="security">
                                <Component Guid="0abd84a4-d5e4-4ab7-973d-b7979257c1a5" Id="_0abd84a4_d5e4_4ab7_973d_b7979257c1a5" Win64="yes">
                                    <File DiskId="1" Id="_1e4d5e53_bf73_43fe_b7d2_06812311fe71" KeyPath="yes" Name="blacklisted.certs" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\security\blacklisted.certs"/>
                                </Component>
                                <Component Guid="5f891cbc-a39c-481f-a555-a0ee8cdabd17" Id="_5f891cbc_a39c_481f_a555_a0ee8cdabd17" Win64="yes">
                                    <File DiskId="1" Id="_f1de2d67_8195_4009_a316_7c8405c508ed" KeyPath="yes" Name="cacerts" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\security\cacerts"/>
                                </Component>
                                <Component Guid="babadc22-af92-4517-9a67-df81e727ab7f" Id="_babadc22_af92_4517_9a67_df81e727ab7f" Win64="yes">
                                    <File DiskId="1" Id="_2457169d_7465_45c3_b0a4_bfdce4141478" KeyPath="yes" Name="default.policy" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\security\default.policy"/>
                                </Component>
                                <Component Guid="7b5ec23d-ea66-4b13-94ca-1975f5f5bf77" Id="_7b5ec23d_ea66_4b13_94ca_1975f5f5bf77" Win64="yes">
                                    <File DiskId="1" Id="_dc946386_4544_4a53_81a3_9a606f5a109a" KeyPath="yes" Name="public_suffix_list.dat" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\security\public_suffix_list.dat"/>
                                </Component>
                            </Directory>
                            <Component Guid="37d27e5a-10a4-4581-874d-99080aa4b769" Id="_37d27e5a_10a4_4581_874d_99080aa4b769" Win64="yes">
                                <File DiskId="1" Id="_0fefa81b_e553_44bd_a6d1_482194bb47fa" KeyPath="yes" Name="tzdb.dat" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\tzdb.dat"/>
                            </Component>
                            <Component Guid="f6495909-d6d1-4dac-8393-0244c5f5be75" Id="_f6495909_d6d1_4dac_8393_0244c5f5be75" Win64="yes">
                                <File DiskId="1" Id="_897de241_7165_4f3a_b1fe_07abc51a72f3" KeyPath="yes" Name="tzmappings" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\lib\tzmappings"/>
                            </Component>
                        </Directory>
                        <Component Guid="45da9750-9bc0-4954-9290-949e1719f73c" Id="_45da9750_9bc0_4954_9290_949e1719f73c" Win64="yes">
                            <File DiskId="1" Id="_4a9b0dd1_ae7b_418a_9acc_8bf5701c467a" KeyPath="yes" Name="release" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\jre\release"/>
                        </Component>
                    </Directory>
                    <Component Guid="5a1f6f9c-e9f8-47ee-8c04-a9259a76e279" Id="_5a1f6f9c_e9f8_47ee_8c04_a9259a76e279" Win64="yes">
                        <File DiskId="1" Id="_602415ef_29d6_424d_9beb_afc83e6d811a" KeyPath="yes" Name="LICENSE" Source="C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorld\LICENSE"/>
                    </Component>
                </Directory>
            </Directory>
            <Directory Id="ProgramMenuFolder">
                <Directory Id="ApplicationProgramsFolder" Name="HelloWorld">
                    <Component Guid="6af40622-69f2-4250-ba6e-b4edb09600d3" Id="ApplicationShortcut">
                        <Shortcut Description="HelloWorld" Id="ApplicationStartMenuShortcut" Name="HelloWorld" Target="[#exeFile]" WorkingDirectory="INSTALLDIR"/>
                        <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
                        <RegistryValue Key="Software\ACME\HelloWorld" KeyPath="yes" Name="installed" Root="HKCU" Type="integer" Value="1"/>
                    </Component>
                </Directory>
            </Directory>
        </Directory>
        <Feature Absent="disallow" AllowAdvertise="no" ConfigurableDirectory="INSTALLDIR" Description="HelloWorld" Id="_49b33d9c_c4ab_44d3_9abb_1160a66c7bad" Level="1" Title="HelloWorld">
            <ComponentRef Id="_f55db636_a6d7_42b9_8ade_d4f59ccf3db1"/>
            <ComponentRef Id="_cfa1c8d4_727a_45f4_b69e_461aae01cc3d"/>
            <ComponentRef Id="_0454231c_0c1d_464f_9e06_ec0104505e43"/>
            <ComponentRef Id="_63d53501_222d_476c_820a_bdbab749e43e"/>
            <ComponentRef Id="_d176fa01_4e6b_4f17_a21a_1eb9ec3daa16"/>
            <ComponentRef Id="_13ad91cf_74ac_47d1_a8b3_c9185fa81e0d"/>
            <ComponentRef Id="_9f7a9551_bac1_496f_879b_955d56cf53bb"/>
            <ComponentRef Id="_df7c66c9_919a_4dae_bad3_76076794ee47"/>
            <ComponentRef Id="_7f6e6bd4_c898_4d87_b437_ab37ba30f1d2"/>
            <ComponentRef Id="_a0f4eaae_bcbe_47ef_b0f5_0a064cfe012b"/>
            <ComponentRef Id="_4249c55e_def8_4593_9eae_2254194bdb91"/>
            <ComponentRef Id="_42504ac4_ca7e_4814_8fb1_3e883be51df1"/>
            <ComponentRef Id="_bde00f9e_52f3_445d_b9e1_0839e7e29e50"/>
            <ComponentRef Id="_00b0b5c0_9358_426f_ae85_7e70595ce922"/>
            <ComponentRef Id="_c06f259f_86fe_4e9d_9356_106b4a5b2e11"/>
            <ComponentRef Id="_71cf3528_0e7a_4c26_aac8_7553b23ee204"/>
            <ComponentRef Id="_332c368b_5364_4c35_a906_09701a1af8a4"/>
            <ComponentRef Id="_5bb5a3a4_723a_4292_b48d_37433e2b9703"/>
            <ComponentRef Id="_f111da18_e0c1_488a_96c4_f0c0b4fcf937"/>
            <ComponentRef Id="_676634b2_5ace_41e1_a017_1b05d37e18b0"/>
            <ComponentRef Id="_7408a3ef_a9ba_4b35_a431_111b88b71757"/>
            <ComponentRef Id="_306e7f27_6075_4aec_9ca2_b676ac2480e4"/>
            <ComponentRef Id="_6bd58a97_92c5_4df1_bca6_23c77f1dd8e0"/>
            <ComponentRef Id="_4dd9cce3_10b2_42d4_a88d_c7432e8b4784"/>
            <ComponentRef Id="_aa32cfe0_8e33_468e_a7b9_046628ff9808"/>
            <ComponentRef Id="_265f0524_f0a3_4f7e_b8ec_0f66f55417e5"/>
            <ComponentRef Id="_3750d7f2_b0ce_4527_942c_e814a45f3fcc"/>
            <ComponentRef Id="_15cb6b8f_ae5a_4b59_9f92_33cfd09fc7ff"/>
            <ComponentRef Id="_1aa17642_639d_4bd5_bb3c_8a42b7dd81c8"/>
            <ComponentRef Id="_72df0db6_af65_4eb4_a99d_7314ea93c507"/>
            <ComponentRef Id="_5de1a41c_e9a2_449f_a147_551e3e340f7c"/>
            <ComponentRef Id="_2cb964b9_cde7_42e5_96ae_af41ccb221a6"/>
            <ComponentRef Id="_c301392e_e0e9_4140_b1aa_d1851c214154"/>
            <ComponentRef Id="_240c6271_9163_4c37_ab3e_4b7b555e6e8b"/>
            <ComponentRef Id="_059d614a_e033_4b00_936f_56ccf613f263"/>
            <ComponentRef Id="_b3384a7f_0f3f_42a0_b23c_86c2a1fc19d7"/>
            <ComponentRef Id="_75a2fb99_1f00_4dab_b5e7_061b22b22e8e"/>
            <ComponentRef Id="_cc395b64_dd27_4ac0_b794_607d50118a7d"/>
            <ComponentRef Id="_025c63b5_a1d4_4fe5_a856_4eda2562daf0"/>
            <ComponentRef Id="_db602361_c558_4d6c_93fd_1afca8c834ce"/>
            <ComponentRef Id="_f1b71963_54a6_4555_aca5_90e0ce99f29a"/>
            <ComponentRef Id="_493a3f80_3a66_4a8c_90a3_063eea541a5e"/>
            <ComponentRef Id="_2d2870cd_e57d_4eef_9dd1_81523627082a"/>
            <ComponentRef Id="_ebb0b3a4_3a54_4145_909f_b375722450b9"/>
            <ComponentRef Id="_2d4b002e_0927_4f87_b35d_6917d3b60ed7"/>
            <ComponentRef Id="_516a2455_3ebb_4dce_b546_27ad424cc8b1"/>
            <ComponentRef Id="_bc9da95c_fef6_4e16_845f_f9087a46a11d"/>
            <ComponentRef Id="_e6df582b_df3c_4785_be81_f0960fd6fd9f"/>
            <ComponentRef Id="_194eaec8_a1c7_48ca_bd34_4c76b3f30d67"/>
            <ComponentRef Id="_93253024_3b97_46bd_9ef3_74c5b1302c21"/>
            <ComponentRef Id="_2dab0bbc_1dfc_42f9_9118_0d98e66bc8ec"/>
            <ComponentRef Id="_05e1bbe3_dc5f_49f3_ba27_1f5e69f07bca"/>
            <ComponentRef Id="_166a7b18_3d59_4cac_b58b_44cef46b8b06"/>
            <ComponentRef Id="_b8327fe0_ef9d_4b2b_a2b4_72c192f2eb28"/>
            <ComponentRef Id="_f36f71e3_a978_4d5a_b197_ea23a3fe3d2c"/>
            <ComponentRef Id="_f8b68c83_6dd4_412b_bede_27143825bccb"/>
            <ComponentRef Id="_60ebb057_6cb3_4331_a5e3_9521cb436f32"/>
            <ComponentRef Id="_4ccd8a2a_045e_4eb6_b5b6_64ed61e69d00"/>
            <ComponentRef Id="_4473ea12_bb2c_4fc0_9805_e7e191f59e79"/>
            <ComponentRef Id="_14ce1198_97c8_4ed8_a965_305f0c8073d5"/>
            <ComponentRef Id="_55d2028c_5ccf_4157_943b_f554a20e884e"/>
            <ComponentRef Id="_ad3379e1_c7eb_4293_b931_e68ccb98756a"/>
            <ComponentRef Id="_28f12d67_9091_43f2_9496_ac32147321e8"/>
            <ComponentRef Id="_b248295a_e8f1_4c9b_bd62_271106de883c"/>
            <ComponentRef Id="_a0040220_5fef_4d27_8f8c_5b9c95ae8577"/>
            <ComponentRef Id="_37cd2235_7628_4174_8c2a_c279f4ba608b"/>
            <ComponentRef Id="_2d91a1c9_f28a_414e_8cb1_3f0a51e036f6"/>
            <ComponentRef Id="_03524baa_70a3_4d8c_9823_f3c5a09371e2"/>
            <ComponentRef Id="_42e0982d_8f85_4b21_99ec_f6cd55e2fa48"/>
            <ComponentRef Id="_a0a10fee_e021_4091_aed1_babc47289e73"/>
            <ComponentRef Id="_f8c8384f_8e6b_4fbd_947c_039b9b803c75"/>
            <ComponentRef Id="_dcdb918e_93d2_405a_a426_8a2b9d5172a0"/>
            <ComponentRef Id="_ab2ac04e_3fa1_4af2_a976_224caeb36170"/>
            <ComponentRef Id="_44646737_9d4c_4405_a8f4_1d366e6e1a82"/>
            <ComponentRef Id="_1db29a2e_8801_4f19_ac11_0155042e3413"/>
            <ComponentRef Id="_24f1e730_c604_4a47_bd2b_880f433d8399"/>
            <ComponentRef Id="_d666b706_55e5_4b27_b035_762fd318ddb5"/>
            <ComponentRef Id="_0a1cc9f9_bc05_4f32_bc52_6940b0fddcf3"/>
            <ComponentRef Id="_654e0f1f_0c4a_4652_8f54_c992bf23a633"/>
            <ComponentRef Id="_94fd6f5e_b7d5_4f3c_bbba_618e7130375e"/>
            <ComponentRef Id="_db62ad85_8137_47d3_9173_aedc2f88f477"/>
            <ComponentRef Id="_39acc2e8_f2ea_4c2c_8b28_11fd2ac193d1"/>
            <ComponentRef Id="_56c8fa17_59f6_4f0a_a8e2_4f88d802d53a"/>
            <ComponentRef Id="_90d7c4b4_3767_49ad_9d8d_c82f8a53605c"/>
            <ComponentRef Id="_f10be975_6e7c_4a44_885b_1a116a9ffd55"/>
            <ComponentRef Id="_985befca_b068_4253_9d59_9313cce6549c"/>
            <ComponentRef Id="_26335c64_d4f1_45d8_8613_751a1ea8995e"/>
            <ComponentRef Id="_cccad6d7_d520_46c3_863c_6a06c3746f7d"/>
            <ComponentRef Id="_0abd84a4_d5e4_4ab7_973d_b7979257c1a5"/>
            <ComponentRef Id="_5f891cbc_a39c_481f_a555_a0ee8cdabd17"/>
            <ComponentRef Id="_babadc22_af92_4517_9a67_df81e727ab7f"/>
            <ComponentRef Id="_7b5ec23d_ea66_4b13_94ca_1975f5f5bf77"/>
            <ComponentRef Id="_37d27e5a_10a4_4581_874d_99080aa4b769"/>
            <ComponentRef Id="_f6495909_d6d1_4dac_8393_0244c5f5be75"/>
            <ComponentRef Id="_45da9750_9bc0_4954_9290_949e1719f73c"/>
            <ComponentRef Id="_5a1f6f9c_e9f8_47ee_8c04_a9259a76e279"/>
            <ComponentRef Id="ApplicationShortcut"/>
        </Feature>
        <Icon Id="ICONFILE" SourceFile="C:\Users\fvarrui\GitHub\HelloWorldMaven\assets\windows\HelloWorld.ico"/>
        <Property Id="ARPPRODUCTICON" Value="ICONFILE"/>
        <WixVariable Id="WixUILicenseRtf" Value="LICENSE"/>
        <MajorUpgrade AllowDowngrades="no" AllowSameVersionUpgrades="yes" DowngradeErrorMessage="A later version of HelloWorld is already installed. Setup will now exit." IgnoreRemoveFailure="no"/>
    </Product>
</Wix>

How can I remove these messages? Where is the problem? What am I doing wrong?

Thanks in advance!

RussellHaley commented 4 years ago

I can't say if or what warnings I am getting because it's been a while since I've run the project. I compared your ApplicationStartMenuShortcut to the one in WinLua53MM and we seem to be doing it differently. Perhaps use mine in reference? The removal error is interesting. I'll need to spend some more time looking at that. Are you on the Wix Users mailing list?

https://wixtoolset.org/documentation/mailinglist/

They are REALLY helpful to open source projects.

fvarrui commented 4 years ago

Hi @RussellHaley! Sorry for the delay, but I've been spending all my free time porting the plugin to Gradle. It's done, so your issue is now my priority. 😅

rhaley-starfish commented 4 years ago

Awesome! Someone at work was just talking about packaging firmware with the Java application that communicates with it. It would be nice to be able to package them separately using merge modules and then build an installer.

fvarrui commented 4 years ago

I've just added MSM generation feature to JavaPackager ... it's available in v1.2.1-SNAPSHOT, so you have to install it manually, till I release it to Maven Central.

Please, try it when possible. I need your feedback. WiX don't show any error nor warning message, and the generated MSI (which includes merge module) is installed without problems, but I'm not sure if MSM meets your needs.

You can take a look to generated WXS files in YourProject\target\assets after package your app.

Thanks!

rhaley-starfish commented 4 years ago

I cloned the repo and then gradlew (hoping for command line help). It downloaded some stuff and I think it built the plugin. I then ran ./gradlew publishToMavenLocal and it said it completed successfully:

> Task :publishPluginMavenPublicationToMavenLocal
Multiple publications with coordinates 'io.github.fvarrui:javapackager:1.2.1-SNAPSHOT' are published to repository 'mavenLocal'. The publications will overwrite each other!
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
                                                                                                                        BUILD SUCCESSFUL in 1m 0s                                                                                               18 actionable tasks: 18 executed 

I opened eclipse and ran the Maven Build item I had created with Goals: package. The system built an msi as normal but I didn't see any merge module? Was there something else I needed to do? I'll have a look at the wxs file asap. If the MSI was generated using the merge module, then it is likely working correctly.

fvarrui commented 4 years ago

You have to see something like this in your mvn package output:

[INFO]     Generating MSI merge module...
[INFO]         WXS file generated in C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorldMaven.msm.wxs!
[INFO]         Compiling file C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorldMaven.msm.wxs
[INFO]         Executing command: cmd.exe /s /c "candle -out C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorldMaven.msm.wixobj C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorldMaven.msm.wxs"
[INFO]         Windows Installer XML Toolset Compiler version 3.11.2.4516
[INFO]         Copyright (c) .NET Foundation and contributors. All rights reserved.
[INFO]
[INFO]         HelloWorldMaven.msm.wxs
[INFO]         WIXOBJ file generated in C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorldMaven.msm.wixobj!
[INFO]         Linking file C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorldMaven.msm.wixobj
[INFO]         Executing command: cmd.exe /s /c "light -spdb -out C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorldMaven_1.0.0.msm C:\Users\fvarrui\GitHub\HelloWorldMaven\target\assets\HelloWorldMaven.msm.wixobj"
[INFO]         Windows Installer XML Toolset Linker version 3.11.2.4516
[INFO]         Copyright (c) .NET Foundation and contributors. All rights reserved.
[INFO]
[INFO]     MSI merge module generated in C:\Users\fvarrui\GitHub\HelloWorldMaven\target\HelloWorldMaven_1.0.0.msm!
fvarrui commented 4 years ago

Did you find MSM file? Have you updated JavaPackager version in pom.xml to 1.2.1-SNAPSHOT?

rhaley-starfish commented 4 years ago

Hi @fvarrui. I'm really sorry but I haven't been able to look at this. We do contract engineering and I am not on that project right now, which makes it difficult to get the time. Then last week I got sick (not covid) so I haven't even been in the office where my virtual machine resides! If my cough goes away I can go to the office next week. I've put in a request for some company time to work on this, but will get it done either way.

Thanks again for adding merge modules, myself and another engineer are very excited to get it working.

fvarrui commented 4 years ago

Hi @rhaley-starfish! I’m waiting for your feedback to publish it as v1.3.0 to Maven Central with some other improvements. I hope you get well soon! Thanks for your quick reply

rhaley-starfish commented 4 years ago

I received permission from my manager so I will be able to jump on this as soon as I am in office.

rhaley-starfish commented 4 years ago

Hi. I finally got it to generate the msm; it's difficult being incompetent (rolling of eyes). I'll now create a small msi with it.

fvarrui commented 4 years ago

Hi Russ! I hope you feel better. Great!! Tell me something when you’ve tried it. Thanks

rhaley-starfish commented 4 years ago

Hi Francisco, the merge module works as expected. Thank you so much for adding this wonderful feature. It means Java applications can be seamlessly deployed within larger install sets and they are shielded from the hell that is Java versioning. I will (at some point) put together a generic wxs file for a msi that uses more than one merge module and pass it along.

Thank you once again, and feel free to close the issue.

fvarrui commented 4 years ago

I’m happy to hear that! Thanks to you for helping to improve JavaPackager

fvarrui commented 4 years ago

I’ll publish v1.3.0 with this new feature asap

fvarrui commented 4 years ago

v1.3.0 released to Maven Central