利用Salamander .Net Linker生成可脫離.net framework環境執行的程式
這是對上一篇文章: 驗證C#程式脫離.net framework環境執行(飛信法)的擴充,在文章的末尾,提到了飛信法的幾點不便,於是有網友提出了自己編寫loader的方法來解決,這當然是一個好方法,但是loader需要用能生成native型別程式碼的語言工具來編寫,如VC++等,然後還要判斷是否安裝了.net framework,如果安裝了,就直接執行,如果沒安裝再呼叫虛擬機器的loader程式.這種方法有難點是對VC++的熟悉和如何判斷.net framework是否安裝.這裡要著重介紹的是利用Salamander .Net Linker來生成.其實據說飛信用的就是這個工具來製作的獨立執行程式的.
Linker是一個命令列工具,它以將我們的.net程式生成可脫離.net framework環境執行的程式 .
Linker不支援中文的路徑,在程式中也不能有中文的識別符號.
Linker 有2種部署方式-mdeploy和-native,-mdeploy方式提取的虛擬環境大概40MB左右,而-native方式則是將MSIL程式碼轉換為NativeImages,配合-il指令使用,最終提取出來的虛擬環境不到30MB.
語法分別是:
-mdeploy方式:linker -mdeploy -casoff 您的程式.exe (-casoff是為了避免一些bug)
-native方式:linker -native -il System -il System.* -il mscorlib -il accessibility 您的程式.exe
注意:-native方式必須附加這4個-il,意思是指這些程式集不轉換為NativeImages,如果未附加-il,則非常耗時,而且提取出來的框架將近100MB。
這裡採用的Salamander .Net Linker是從網上下載的破解版,僅供交流學習之用.
步驟:
1,點選執行:setenv.bat自動定位到當前Linker所在的目錄.
2,採用上面提到的第二種方式.在提示符下輸入:linker -native -il System -il System.* -il mscorlib -il accessibility mygamePath.exe,執行後,程式會在mygamePath.exe 所以目錄下生成一個名叫mdeployed 的資料夾.裡面就是生成的可以單獨執行的程式了.
這個過程很簡單.到純淨的XP系統上測試執行成功.
相關文章
- 讓 .Net程式脫離 .Net Framework框架執行Framework框架
- 驗證C#程式脫離.net framework環境執行(飛信法)C#Framework
- vc++生成程式不需要.net執行環境的可以執行exe程式的方法C++
- 不安裝.net framework框架執行.Net 程式的方法<收藏>Framework框架
- matlab R2013a 生成exe 脫離matlab開發環境執行Matlab開發環境
- Docker容器中執行.net framework控制檯程式DockerFramework
- 【edobnet】利用.Net 執行緒池提高應用程式效能.執行緒
- 跨平臺的.NET執行環境 Mono 3.2.7釋出!Mono
- .Net環境下的程式破解(3)
- .Net環境的下的程式破解(2)
- Android Wear 2.0:可脫離手機獨立執行Android
- 利用statspack來獲取生成環境中top SQL及其執行計劃SQL
- Linux環境中以daemon方式執行的程式生成core dumpLinux
- zt .NET環境下的SNMP程式設計程式設計
- 在執行時生成C# .NET類C#
- C#與.NET程式設計師面試寶典 2.2.6 面試題13:.NET程式的開發和執行基本環境是什麼C#程式設計師面試題
- C# 利用.NET 升級助手將.NET Framework專案升級為.NET 6C#Framework
- Windows 8 下離線安裝.NET Framework 3.5WindowsFramework
- 記從 dotnet framework 4.8 升級到 4.8.1 時執行的 dotnet remoting 程式出現空異常FrameworkREM
- matlab gui 生成獨立可執行的程式MatlabGUI
- 如何配置報表生成器FastReport.Net環境AST
- .NET 4.0 環境下無法直接執行 .NET 2.0 程式的問題,當然目前解決了 (轉載--來於園中)...
- .NET Framework 4 和 .NET Framework 4 Client ProfileFrameworkclient
- Asp.Net在多執行緒環境下的狀態儲存問題ASP.NET執行緒
- Kubernetes環境搭建
- .NET Framework 4和.NET Framework 4 Client Profile的區別Frameworkclient
- 大資料執行環境的執行大資料
- buildapp 生成獨立可執行lisp程式UILDAAPPLisp
- 多執行緒脫離狀態 + 排程執行緒
- 【UWP】修改清單脫離沙盒執行
- [.NET大牛之路 005] .NET 的執行模型模型
- .net framework 5.0Framework
- .NET Framework 工具Framework
- 解決非小程式執行環境,不能呼叫wx.login()生成code
- .NET Framework 的 Quirk VersionFrameworkUI
- 【C# .Net Framework】在.Net Framework中使用gRPCC#FrameworkRPC
- JavaScript執行環境與執行棧JavaScript
- 使用原生Java程式碼生成可執行Jar包JavaJAR