Jump to content
Excelsior Forums
parad

strange Security exception

Recommended Posts

I get a strange security exception when running my app (installed from deployed installshield file)

Exception in thread "Thread-4" java.lang.SecurityException: class configured for  MessageDigest(provider: SUN)cannot be found.

sun.security.provider.SHA

Don't get this on Linux (developing on linux) nor during a normal java run of the program on win32. Guess I should enable stacktrace and debug, but I wondered if this was a 'known' thing? (using jdk1.4)

Also, setting the 'working dir' for the windows shortcut might be an added feature worth considering.

Share this post


Link to post
Share on other sites

I had the same problem.

The problem is apparantly a known issue (that's the reply I got). The problem is that you are missing some DLL-files that should have been included by JETPack in the deployment.

I found that adding

xmis25013.dll

xjce25013.dll

ximg25013.dll

xsec25013.dll

xmia25013.dll

xcrb25013.dll

from my JET\bin directory to the deployment directory on the target system solved the problem. It seems JetPack doesn't include all required DLLs.

To create the install file with JetPAck and get all the DLL-files included you have to run JetPack in batch mode, not GUI.

The following workaroud was suggested by Excelsior support:

------------------------------------------------

A workaround you may try right now is forcing inclusion of the DLLs in the

archive. For that, please, use JetPack in the batch mode as follows.

1) cd <the direrectory where your app's exe resides>

2) Create a plain text file (e.g tempfileDepScr) in the working directory

with following format:

===============

-f<name of EXE file with full path from the *working* directory>

-f<....>

-f<....>

---- the following items are not obligatory

-fLicense314.txt      - file of License

-fSplash314.bmp       - file of  Splash

-b<name of bat file>  - at start .bat file

-J                              - add JIT

-R                           - add JRE

    or

-R-                       - don't use JRE

===============

Note: if you use License314.txt and fSplash314.bmp, they must be present in

the working directory with exactly such names

2) run DepScr as

 DepScr @tempfileDepScr -dPackageScr.txt

Now you have PackageScr.txt file that contains strings like

"C:\JET\BIN\XKRN25013.DLL"    JETFILE    "bin\XKRN25013.DLL" aNumber

Add two new lines at the end

"C:\JET\BIN\XMIA25013.DLL"    JETFILE    "bin\XMIA25013.DLL" aNumber

"C:\JET\BIN\XSEC25013.DLL"    JETFILE    "bin\XSEC25013.DLL" aNumber

3) Create resulting archive "ArchiveName" as

 DepMk -dArchiveName.exe -eDepGUI.exe -z PackageScr.txt

--------------------------------------------------

//Erik

Share this post


Link to post
Share on other sites

×