diff --git a/docs/articles/usage.html b/docs/articles/usage.html index fca939b77c..f27234218e 100644 --- a/docs/articles/usage.html +++ b/docs/articles/usage.html @@ -133,7 +133,7 @@
JNet uses an embedded JVM through JCOBridge, however JVM initialization is incompatible with CET because the code used to identify CPU try to modify the return address and this is considered from CET a violation: see this comment.
From .NET 9 preview 6, CET is enabled by default on supported hardware when the final stage produce an executable artifact, i.e. the csproj file contains <OutputType>Exe</OutputType>
.
If the application, upon startup, fails with the error 0xc0000409 (subcode 0x30) it was compiled with CET enabled and it fails during JVM initialization.
-To solve the issue there are three possible solutions:
+To solve the issue there are four possible solutions:
instead of the classic:
MyApplication.exe
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\MyApplication.exe" /v MitigationOptions /t REG_BINARY /d "0000000000000000000000000000002000" /f
+
+then run:
+ MyApplication.exe
+
Below a basic example which demonstrates how to create a program based on JNet and some other features available like generics and exception handling. Within the program the comments try to explain how the code works.
diff --git a/docs/articles/usageCLI.html b/docs/articles/usageCLI.html index 8a9bd1d394..c59fa09e68 100644 --- a/docs/articles/usageCLI.html +++ b/docs/articles/usageCLI.html @@ -103,6 +103,12 @@jnet -i
+If the previous command raises the error described in Intel CET and JNet, the only solution is to apply the following workaround (within an elevated shell) and disable CET:
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\jnet.exe" /v MitigationOptions /t REG_BINARY /d "0000000000000000000000000000002000" /f
+
+jnetreflector -OriginRootPath C:\\myJars -OriginJavadocUrl \"https://thehost/javadoc/\" -JavadocVersion 11 -DestinationRootPath C:\\ReflectionDestination
+If the previous command raises the error described in Intel CET and JNet, the only solution is to apply the following workaround (within an elevated shell) and disable CET:
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\jnetreflector.exe" /v MitigationOptions /t REG_BINARY /d "0000000000000000000000000000002000" /f
+
+jnr accepts the following command-line switch:
+jnetreflector accepts the following command-line switch: