Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello Distroir, great job! - But I want give you big suggestion for Mono and UPX or VCPKG with zlib static x86.
I made mkbundle with "Custom SDK Launcher.exe" into bundled executable. "CustomSDKLauncher.exe" 20 mb and UPX to > 7 mb. And you don't need install Net Frameworks 4.x :) Because mkbundle is great bundler of net frameworks as "jit-compiler" or dotnet core.
I hope you allow me if I use mono into standalone executable. ( embedding assemblies into executable )
Keep your work!
Example bundled executable of Custom SDK Launcher.
https://mega.nz/#!xwpjxZxK!Mu_s1RTXu0dnLrzyiBzUC3_13jSZN_Ss7eNqCAKR_Gs
If you have errors than you have to install Mono Runtime whatever you would like that. Please reply me! I want listen that because I already re-compiled and re-installed mono runtime with cygwin-x86.
PS: Don't worry - it is my test. if you want show icon in bundled mono-application than you need to add icon-path after generated temp.c and add icon into temp.s ( Important because temp.s need to convert for embedding bytes from icon file like hxD or hex editor to bytes 1, 2, 3, ... )
And compile manuell from generated compile process of mkbundle. I hope you have to get bundled executable...
// EDIT:
Why do I need vcpkg?
If you use mkbundle -z --static --deps --keeptemp "Your app.exe" -o "Your generated bundled.exe" -v than you need to execute path from generated command line from generated mkbundle process "-I "Path-to-.include - zlib.h" and -L "Path to zlib.lib" or copy from vcpkg\installed\zlib-static-x86\include* and vcpkg\installed\zlib-static-x86\lib* to your output of debug or release directory of Custom SDK Launcher.exe than build again and it is standalone executable don't need install net frameworks :) Enjoy your bundled application!
If you have got errors and you make sure copy from mono-path-to-installed\include\mono-2.0* mono-path-to-installed\lib* all lib files into your debug or release of Custom SDK launcher than build again. It is really successful from compilation. And check if your executable works - If you are not sure than you need change from cl.exe line "/SUBSYSTEM:windows" to "/SUBSYSTEM:console" and generate again and check command line if it throws error example System.NullNotException or mscorlib need download errors. Please don't copy from C:\Windows\Microsoft.Net\frameworks\4.5! Copy just from "mono-path-to-installed\lib\mono\4.5*.dll to your release or debug directory just copy before "copy "C:\mono_x86\lib\mono\4.5*.dll ." - If you see before i18n assemblies couldn't found .
Remember Mono bundling is not only Net Frameworks mscorlib.dll just use mono's mscorlib.dll
// EDIT: If you have problem with wrong x64 of clang and cl from Visual Studio 2017 Community - you need build manuell.
""C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\ClangC2\14.10.25903\bin\HostX86\clang.exe" -c -x assembler -o temp.s.obj temp.s"
And cl.exe in command line
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\bin\HostX86\x86\cl.exe" /MD /I "C:\Program Files\Mono\include\mono-2.0" /I "." "temp.c" "temp.s.obj" /link /SUBSYSTEM:windows /ENTRY:mainCRTStartup /NODEFAULTLIB libmono-static-sgen.lib kernel32.lib version.lib ws2_32.lib mswsock.lib psapi.lib shell32.lib oleaut32.lib ole32.lib winmm.lib user32.lib advapi32.lib ucrt.lib vcruntime.lib msvcrt.lib oldnames.lib zlib.lib /LIBPATH:"C:\Program Files\Mono\lib" /LIBPATH:"." /OUT:"CustomSDKLauncher.exe"
Than you check generated bundled executable! If you don't see if it happens wioth mscorlib.dll or System.NullNotException errors you can use like this
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\bin\HostX86\x86\cl.exe" /MD /I "C:\Program Files\Mono\include\mono-2.0" /I "." "temp.c" "temp.s.obj" /link /SUBSYSTEM:console /ENTRY:mainCRTStartup /NODEFAULTLIB libmono-static-sgen.lib kernel32.lib version.lib ws2_32.lib mswsock.lib psapi.lib shell32.lib oleaut32.lib ole32.lib winmm.lib user32.lib advapi32.lib ucrt.lib vcruntime.lib msvcrt.lib oldnames.lib zlib.lib /LIBPATH:"C:\Program Files\Mono\lib" /LIBPATH:"." /OUT:"CustomSDKLauncher.exe"
And type in command line CustomSDKLauncher.exe
Output:
It means OK! If you see errors than you need fix. Thanks!
Sorry my bad English! Thanks!