public class jdk.jpackage.internal.WinExeBundler extends jdk.jpackage.internal.AbstractBundler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.jpackage.internal.WinExeBundler
super_class: jdk.jpackage.internal.AbstractBundler
{
public static final jdk.jpackage.internal.BundlerParamInfo<java.nio.file.Path> EXE_IMAGE_DIR;
descriptor: Ljdk/jpackage/internal/BundlerParamInfo;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljdk/jpackage/internal/BundlerParamInfo<Ljava/nio/file/Path;>;
private static final java.lang.String EXE_WRAPPER_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "msiwrapper.exe"
private final jdk.jpackage.internal.WinMsiBundler msiBundler;
descriptor: Ljdk/jpackage/internal/WinMsiBundler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: ldc "jpackage"
invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
1: new jdk.jpackage.internal.StandardBundlerParam
dup
2: ldc "win.exe.imageDir"
3: ldc Ljava/nio/file/Path;
4: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/jpackage/internal/WinExeBundler.lambda$0(Ljava/util/Map;)Ljava/nio/file/Path; (6)
(Ljava/util/Map;)Ljava/nio/file/Path;
5: invokedynamic apply()Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/jpackage/internal/WinExeBundler.lambda$1(Ljava/lang/String;Ljava/util/Map;)Ljava/nio/file/Path; (6)
(Ljava/lang/String;Ljava/util/Map;)Ljava/nio/file/Path;
6: invokespecial jdk.jpackage.internal.StandardBundlerParam.<init>:(Ljava/lang/String;Ljava/lang/Class;Ljava/util/function/Function;Ljava/util/function/BiFunction;)V
7: putstatic jdk.jpackage.internal.WinExeBundler.EXE_IMAGE_DIR:Ljdk/jpackage/internal/BundlerParamInfo;
8: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial jdk.jpackage.internal.AbstractBundler.<init>:()V
1: aload 0
new jdk.jpackage.internal.WinMsiBundler
dup
invokespecial jdk.jpackage.internal.WinMsiBundler.<init>:()V
putfield jdk.jpackage.internal.WinExeBundler.msiBundler:Ljdk/jpackage/internal/WinMsiBundler;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jpackage/internal/WinExeBundler;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "exe.bundler.name"
invokestatic jdk.jpackage.internal.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jpackage/internal/WinExeBundler;
public java.lang.String getID();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "exe"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jpackage/internal/WinExeBundler;
public java.lang.String getBundleType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "INSTALLER"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jpackage/internal/WinExeBundler;
public java.nio.file.Path execute(java.util.Map<java.lang.String, ? super java.lang.Object>, java.nio.file.Path);
descriptor: (Ljava/util/Map;Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual jdk.jpackage.internal.WinExeBundler.bundle:(Ljava/util/Map;Ljava/nio/file/Path;)Ljava/nio/file/Path;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jpackage/internal/WinExeBundler;
0 1 1 params Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;
0 1 2 outputParentDir Ljava/nio/file/Path;
Exceptions:
throws jdk.jpackage.internal.PackagerException
Signature: (Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;Ljava/nio/file/Path;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
params
outputParentDir
public boolean supported(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jpackage.internal.WinExeBundler.msiBundler:Ljdk/jpackage/internal/WinMsiBundler;
iload 1
invokevirtual jdk.jpackage.internal.WinMsiBundler.supported:(Z)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jpackage/internal/WinExeBundler;
0 1 1 platformInstaller Z
MethodParameters:
Name Flags
platformInstaller
public boolean isDefault();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jpackage/internal/WinExeBundler;
public boolean validate(java.util.Map<java.lang.String, ? super java.lang.Object>);
descriptor: (Ljava/util/Map;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jpackage.internal.WinExeBundler.msiBundler:Ljdk/jpackage/internal/WinMsiBundler;
aload 1
invokevirtual jdk.jpackage.internal.WinMsiBundler.validate:(Ljava/util/Map;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jpackage/internal/WinExeBundler;
0 1 1 params Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;
Exceptions:
throws jdk.jpackage.internal.ConfigException
Signature: (Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;)Z
MethodParameters:
Name Flags
params
public java.nio.file.Path bundle(java.util.Map<java.lang.String, ? super java.lang.Object>, java.nio.file.Path);
descriptor: (Ljava/util/Map;Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic jdk.jpackage.internal.IOUtils.writableOutputDir:(Ljava/nio/file/Path;)V
1: getstatic jdk.jpackage.internal.WinExeBundler.EXE_IMAGE_DIR:Ljdk/jpackage/internal/BundlerParamInfo;
aload 1
invokevirtual jdk.jpackage.internal.BundlerParamInfo.fetchFrom:(Ljava/util/Map;)Ljava/lang/Object;
checkcast java.nio.file.Path
astore 3
start local 3 2: aload 0
getfield jdk.jpackage.internal.WinExeBundler.msiBundler:Ljdk/jpackage/internal/WinMsiBundler;
aload 1
aload 3
invokevirtual jdk.jpackage.internal.WinMsiBundler.execute:(Ljava/util/Map;Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 4
start local 4 3: new jdk.jpackage.internal.ScriptRunner
dup
invokespecial jdk.jpackage.internal.ScriptRunner.<init>:()V
4: aload 4
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
invokevirtual jdk.jpackage.internal.ScriptRunner.setDirectory:(Ljava/nio/file/Path;)Ljdk/jpackage/internal/ScriptRunner;
5: ldc "resource.post-msi-script"
invokevirtual jdk.jpackage.internal.ScriptRunner.setResourceCategoryId:(Ljava/lang/String;)Ljdk/jpackage/internal/ScriptRunner;
6: ldc "post-msi"
invokevirtual jdk.jpackage.internal.ScriptRunner.setScriptNameSuffix:(Ljava/lang/String;)Ljdk/jpackage/internal/ScriptRunner;
7: ldc "JpMsiFile"
aload 4
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual jdk.jpackage.internal.ScriptRunner.setEnvironmentVariable:(Ljava/lang/String;Ljava/lang/String;)Ljdk/jpackage/internal/ScriptRunner;
8: aload 1
invokevirtual jdk.jpackage.internal.ScriptRunner.run:(Ljava/util/Map;)V
9: aload 0
aload 1
aload 4
aload 2
invokevirtual jdk.jpackage.internal.WinExeBundler.buildEXE:(Ljava/util/Map;Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
10: areturn
11: StackMap locals: jdk.jpackage.internal.WinExeBundler java.util.Map java.nio.file.Path java.nio.file.Path java.nio.file.Path
StackMap stack: java.io.IOException
astore 5
start local 5 12: aload 5
invokestatic jdk.jpackage.internal.Log.verbose:(Ljava/lang/Throwable;)V
13: new jdk.jpackage.internal.PackagerException
dup
aload 5
invokespecial jdk.jpackage.internal.PackagerException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/jpackage/internal/WinExeBundler;
0 14 1 params Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;
0 14 2 outdir Ljava/nio/file/Path;
2 14 3 exeImageDir Ljava/nio/file/Path;
3 14 4 msi Ljava/nio/file/Path;
12 14 5 ex Ljava/io/IOException;
Exception table:
from to target type
3 10 11 Class java.io.IOException
Exceptions:
throws jdk.jpackage.internal.PackagerException
Signature: (Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;Ljava/nio/file/Path;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
params
outdir
private java.nio.file.Path buildEXE(java.util.Map<java.lang.String, ? super java.lang.Object>, java.nio.file.Path, java.nio.file.Path);
descriptor: (Ljava/util/Map;Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "message.outputting-to-location"
invokestatic jdk.jpackage.internal.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
1: aload 3
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aastore
2: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic jdk.jpackage.internal.Log.verbose:(Ljava/lang/String;)V
3: aload 2
ldc ".exe"
invokestatic jdk.jpackage.internal.IOUtils.replaceSuffix:(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/Path;
astore 4
start local 4 4: aconst_null
astore 5
aconst_null
astore 6
5: ldc "msiwrapper.exe"
invokestatic jdk.jpackage.internal.OverridableResource.readDefault:(Ljava/lang/String;)Ljava/io/InputStream;
astore 7
start local 7 6: aload 7
aload 4
iconst_0
anewarray java.nio.file.CopyOption
invokestatic java.nio.file.Files.copy:(Ljava/io/InputStream;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)J
pop2
7: aload 7
ifnull 13
aload 7
invokevirtual java.io.InputStream.close:()V
goto 13
StackMap locals: jdk.jpackage.internal.WinExeBundler java.util.Map java.nio.file.Path java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
8: astore 5
aload 7
ifnull 9
aload 7
invokevirtual java.io.InputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
9: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 6
aload 5
ifnonnull 11
aload 6
astore 5
goto 12
StackMap locals:
StackMap stack:
11: aload 5
aload 6
if_acmpeq 12
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 5
athrow
13: StackMap locals:
StackMap stack:
new jdk.jpackage.internal.ExecutableRebrander
dup
invokespecial jdk.jpackage.internal.ExecutableRebrander.<init>:()V
aload 2
invokedynamic editResource(Ljava/nio/file/Path;)Ljdk/jpackage/internal/ExecutableRebrander$UpdateResourceAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(J)V
jdk/jpackage/internal/WinExeBundler.lambda$2(Ljava/nio/file/Path;J)V (6)
(J)V
invokevirtual jdk.jpackage.internal.ExecutableRebrander.addAction:(Ljdk/jpackage/internal/ExecutableRebrander$UpdateResourceAction;)Ljdk/jpackage/internal/ExecutableRebrander;
14: aload 1
aload 4
invokevirtual jdk.jpackage.internal.ExecutableRebrander.rebrandInstaller:(Ljava/util/Map;Ljava/nio/file/Path;)V
15: aload 3
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
aload 4
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 5
start local 5 16: aload 5
invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
pop
17: aload 4
aload 5
iconst_0
anewarray java.nio.file.CopyOption
invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
pop
18: aload 5
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
iconst_1
iconst_1
invokevirtual java.io.File.setWritable:(ZZ)Z
pop
19: ldc "message.output-location"
invokestatic jdk.jpackage.internal.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
20: aload 3
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aastore
21: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic jdk.jpackage.internal.Log.verbose:(Ljava/lang/String;)V
22: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljdk/jpackage/internal/WinExeBundler;
0 23 1 params Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;
0 23 2 msi Ljava/nio/file/Path;
0 23 3 outdir Ljava/nio/file/Path;
4 23 4 exePath Ljava/nio/file/Path;
6 9 7 is Ljava/io/InputStream;
16 23 5 dstExePath Ljava/nio/file/Path;
Exception table:
from to target type
6 7 8 any
5 10 10 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
params
msi
outdir
private static native int embedMSI(long, java.lang.String);
descriptor: (JLjava/lang/String;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
resourceLock
msiPath
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial jdk.jpackage.internal.AbstractBundler.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void cleanup(java.util.Map);
descriptor: (Ljava/util/Map;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial jdk.jpackage.internal.AbstractBundler.cleanup:(Ljava/util/Map;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static java.nio.file.Path lambda$0(java.util.Map);
descriptor: (Ljava/util/Map;)Ljava/nio/file/Path;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic jdk.jpackage.internal.WinExeBundler.IMAGES_ROOT:Ljdk/jpackage/internal/BundlerParamInfo;
aload 0
invokevirtual jdk.jpackage.internal.BundlerParamInfo.fetchFrom:(Ljava/util/Map;)Ljava/lang/Object;
checkcast java.nio.file.Path
astore 1
start local 1 1: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifne 6
2: aload 1
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
3: goto 6
StackMap locals: java.util.Map java.nio.file.Path
StackMap stack: java.io.IOException
4: pop
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 1
ldc "win-exe.image"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 params Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;
1 7 1 imagesRoot Ljava/nio/file/Path;
Exception table:
from to target type
2 3 4 Class java.io.IOException
private static java.nio.file.Path lambda$1(java.lang.String, java.util.Map);
descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljava/nio/file/Path;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
0 1 1 p Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;
private static void lambda$2(java.nio.file.Path, long);
descriptor: (Ljava/nio/file/Path;J)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
start local 1 0: lload 1
aload 0
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic jdk.jpackage.internal.WinExeBundler.embedMSI:(JLjava/lang/String;)I
pop
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 resourceLock J
Exceptions:
throws java.io.IOException
}
SourceFile: "WinExeBundler.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
abstract UpdateResourceAction = jdk.jpackage.internal.ExecutableRebrander$UpdateResourceAction of jdk.jpackage.internal.ExecutableRebrander