< prev index next >
src/jdk.incubator.jpackage/windows/native/libjpackage/jpackage.cpp
Print this page
*** 26,35 ****
--- 26,37 ----
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <windows.h>
+ #include "ResourceEditor.h"
+ #include "WinErrorHandling.h"
#include "IconSwap.h"
#include "VersionInfoSwap.h"
#include "Utils.h"
using namespace std;
*** 37,51 ****
#ifdef __cplusplus
extern "C" {
#endif
/*
! * Class: jdk_jpackage_internal_WindowsAppImageBuilder
* Method: iconSwap
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
*/
! JNIEXPORT jint JNICALL Java_jdk_jpackage_internal_WindowsAppImageBuilder_iconSwap(
JNIEnv *pEnv, jclass c, jstring jIconTarget, jstring jLauncher) {
wstring iconTarget = GetStringFromJString(pEnv, jIconTarget);
wstring launcher = GetStringFromJString(pEnv, jLauncher);
if (ChangeIcon(iconTarget, launcher)) {
--- 39,54 ----
#ifdef __cplusplus
extern "C" {
#endif
/*
! * Class: jdk_incubator_jpackage_internal_WindowsAppImageBuilder
* Method: iconSwap
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
*/
! JNIEXPORT jint JNICALL
! Java_jdk_incubator_jpackage_internal_WindowsAppImageBuilder_iconSwap(
JNIEnv *pEnv, jclass c, jstring jIconTarget, jstring jLauncher) {
wstring iconTarget = GetStringFromJString(pEnv, jIconTarget);
wstring launcher = GetStringFromJString(pEnv, jLauncher);
if (ChangeIcon(iconTarget, launcher)) {
*** 54,82 ****
return 1;
}
/*
! * Class: jdk_jpackage_internal_WindowsAppImageBuilder
* Method: versionSwap
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
*/
! JNIEXPORT jint JNICALL Java_jdk_jpackage_internal_WindowsAppImageBuilder_versionSwap(
! JNIEnv *pEnv, jclass c, jstring jExecutableProperties, jstring jLauncher) {
! wstring executableProperties = GetStringFromJString(pEnv, jExecutableProperties);
wstring launcher = GetStringFromJString(pEnv, jLauncher);
VersionInfoSwap vs(executableProperties, launcher);
if (vs.PatchExecutable()) {
return 0;
}
return 1;
}
! BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
return TRUE;
}
#ifdef __cplusplus
}
--- 57,114 ----
return 1;
}
/*
! * Class: jdk_incubator_jpackage_internal_WindowsAppImageBuilder
* Method: versionSwap
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
*/
! JNIEXPORT jint JNICALL
! Java_jdk_incubator_jpackage_internal_WindowsAppImageBuilder_versionSwap(
! JNIEnv *pEnv, jclass c, jstring jExecutableProperties,
! jstring jLauncher) {
! wstring executableProperties = GetStringFromJString(pEnv,
! jExecutableProperties);
wstring launcher = GetStringFromJString(pEnv, jLauncher);
VersionInfoSwap vs(executableProperties, launcher);
if (vs.PatchExecutable()) {
return 0;
}
return 1;
}
! /*
! * Class: jdk_incubator_jpackage_internal_WinExeBundler
! * Method: embedMSI
! * Signature: (Ljava/lang/String;Ljava/lang/String;)I
! */
! JNIEXPORT jint JNICALL Java_jdk_incubator_jpackage_internal_WinExeBundler_embedMSI(
! JNIEnv *pEnv, jclass c, jstring jexePath, jstring jmsiPath) {
!
! const wstring exePath = GetStringFromJString(pEnv, jexePath);
! const wstring msiPath = GetStringFromJString(pEnv, jmsiPath);
!
! JP_TRY;
!
! ResourceEditor()
! .id(L"msi")
! .type(RT_RCDATA)
! .apply(ResourceEditor::FileLock(exePath), msiPath);
!
! return 0;
!
! JP_CATCH_ALL;
!
! return 1;
! }
!
! BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
! LPVOID lpvReserved) {
return TRUE;
}
#ifdef __cplusplus
}
< prev index next >