# HG changeset patch # User herrick # Date 1539800094 14400 # Node ID 01decb67d4f00f70638077216902dfa5dde8166f # Parent e094d5483bd65f5901629e2d1e8ae015a526a50b 8211744: Cannot run AWT application generated with jpackager Submitten-by: almatvee Reviewed-by: herrick, kcr diff -r e094d5483bd6 -r 01decb67d4f0 src/jdk.packager/share/native/library/common/GenericPlatform.cpp --- a/src/jdk.packager/share/native/library/common/GenericPlatform.cpp Wed Oct 17 13:50:11 2018 -0400 +++ b/src/jdk.packager/share/native/library/common/GenericPlatform.cpp Wed Oct 17 14:14:54 2018 -0400 @@ -83,6 +83,18 @@ #endif } +TString GenericPlatform::GetPackageRuntimeBinDirectory() { +#ifdef WINDOWS + return FilePath::IncludeTrailingSeparator(GetPackageRootDirectory()) + _T("runtime\\bin"); +#endif // WINDOWS +#ifdef LINUX + return FilePath::IncludeTrailingSeparator(GetPackageRootDirectory()) + _T("runtime/bin"); +#endif // LINUX +#ifdef MAC + return FilePath::IncludeTrailingSeparator(GetPackageRootDirectory()) + _T("Plugins/Java.runtime/Contents/Home/bin"); +#endif +} + std::list GenericPlatform::LoadFromFile(TString FileName) { std::list result; diff -r e094d5483bd6 -r 01decb67d4f0 src/jdk.packager/share/native/library/common/GenericPlatform.h --- a/src/jdk.packager/share/native/library/common/GenericPlatform.h Wed Oct 17 13:50:11 2018 -0400 +++ b/src/jdk.packager/share/native/library/common/GenericPlatform.h Wed Oct 17 14:14:54 2018 -0400 @@ -42,6 +42,7 @@ virtual TString GetPackageAppDirectory(); virtual TString GetPackageLauncherDirectory(); + virtual TString GetPackageRuntimeBinDirectory(); virtual TString GetConfigFileName(); diff -r e094d5483bd6 -r 01decb67d4f0 src/jdk.packager/share/native/library/common/JavaVirtualMachine.cpp --- a/src/jdk.packager/share/native/library/common/JavaVirtualMachine.cpp Wed Oct 17 13:50:11 2018 -0400 +++ b/src/jdk.packager/share/native/library/common/JavaVirtualMachine.cpp Wed Oct 17 14:14:54 2018 -0400 @@ -347,6 +347,9 @@ if (FilePath::FileExists(_T("msvcr100.dll")) == true) { javaLibrary.AddDependency(_T("msvcr100.dll")); } + + TString runtimeBin = platform.GetPackageRuntimeBinDirectory(); + SetDllDirectory(runtimeBin.c_str()); #else javaLibrary.AddDependencies( platform.FilterOutRuntimeDependenciesForPlatform( diff -r e094d5483bd6 -r 01decb67d4f0 src/jdk.packager/share/native/library/common/Platform.h --- a/src/jdk.packager/share/native/library/common/Platform.h Wed Oct 17 13:50:11 2018 -0400 +++ b/src/jdk.packager/share/native/library/common/Platform.h Wed Oct 17 14:14:54 2018 -0400 @@ -433,6 +433,7 @@ virtual TString GetPackageAppDirectory() = 0; virtual TString GetPackageLauncherDirectory() = 0; + virtual TString GetPackageRuntimeBinDirectory() = 0; virtual TString GetAppName() = 0; virtual TString GetConfigFileName() = 0;