簡體   English   中英

在Inno Setup中運行Java文件

[英]Run java file in inno setup

我有Java程序,正在將某些文件復制到家庭Java文件夾。 在cmd中可以正常工作。 我不知道如何在Inno Setup中使用它。

我試過了:

Filename: "{cmd}"; Parameters: "/C ""cd {app}""/C ""java Javaxcomm"; Flags: runhidden waituntilterminated runascurrentuser
Filename: "java"; Parameters: "Javaxcomm"; WorkingDir: "{app}";  Flags: runhidden waituntilterminated runascurrentuser
Filename: "cmd"; Parameters: "/C java {app}\Javaxcomm"

我找到了另一種方式。 也許有人會有所幫助。 這不是我的代碼。

[Code]
var
  javaVersion: String;
  javaPath: String;

function InitializeSetup(): Boolean;
begin
  if RegValueExists(HKLM, 'SOFTWARE\JavaSoft\Java Development Kit', 'CurrentVersion') then
    begin
      RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Development Kit', 'CurrentVersion', javaVersion);
      MsgBox('Found Java Development Kit version ' + javaVersion, mbInformation, MB_OK);
      if RegValueExists(HKLM, 'SOFTWARE\JavaSoft\Java Development Kit\' + javaVersion, 'JavaHome') then
        begin
          RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Development Kit\' + javaVersion, 'JavaHome', javaPath);
          MsgBox('Found Java Development Kit java_home: ' + javaPath, mbInformation, MB_OK);
          Result := True;
        end
      else
        begin
          MsgBox('Java Path not set for JDK' + javaVersion, mbInformation, MB_OK);
          MsgBox('RE-install java', mbInformation, MB_OK);
          Result := False;
        end
    end
  else if RegValueExists(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion') then
    begin
      RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', javaVersion);
      MsgBox('Found Java Runtime Environment version ' + javaVersion, mbInformation, MB_OK);
      if RegValueExists(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment\' + javaVersion, 'JavaHome') then
        begin
          RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment\' + javaVersion, 'JavaHome', javaPath);
          MsgBox('Found Runtime Environment java_home: ' + javaPath, mbInformation, MB_OK);
          Result := True;
        end
      else
        begin
          MsgBox('Java Path not set for Java Runtime Environment' + javaVersion, mbInformation, MB_OK);
          MsgBox('RE-install java', mbInformation, MB_OK);
          Result := False;
        end
    end
  else
    begin
      MsgBox('v1 has not been found on your computer.'#13#13'Please Install it and try again.', MbError, Mb_Ok);
      Result := False;
    end
end;

function GetJAVAHome(S: String) : String;
begin
  Result := javaPath;
end;
Source: "{#MojaAppZrodla}\commapi\comm.jar"; DestDir: "{code:GetJAVAHome}\lib\ext"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MojaAppZrodla}\commapi\win32com.dll"; DestDir: "{code:GetJAVAHome}\bin"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MojaAppZrodla}\commapi\javax.comm.properties"; DestDir: "{code:GetJAVAHome}\lib"; Flags: ignoreversion recursesubdirs createallsubdirs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM