)使.Net程式在未安裝framework的電腦上運行(公布方法、原始碼)

來源:互聯網
上載者:User
    從四年前剛學C#時就一直想找到一種方法可以讓.Net程式在未安裝framework的電腦上運行,但一直沒有找到真正可用的。雖然有些公司發布了可以將.net代碼編譯成navtive代碼以脫離.net環境運行,如Remotesoft DOTNET Linker,Xenocode Postbuild等,但一直沒有破解版,用它們編譯的程式每次運行會添出個著作權資訊。最近偶然發現一種方法可以做到真正使程式脫離.net環境運行且沒有任何著作權資訊添出,現將使用方法、原始碼、測試程式發佈於此:
      請首先在文章末尾下載測試程式,是一個用C#做的串口工具,下載解壓後有兩個檔案夾(FrameWork和APP)和一個程式(串口工具.exe),在APP檔案夾下有一個名為9527.exe的程式,這個是C#真正的“串口工具.exe”,而主目錄下的串口工具.exe只是一個Loader程式,它運行後首先判斷電腦上有沒有安裝framework,若有,則直接啟動APP下的9527.exe程式;若無,則通過framework虛擬機器(FrameWork下的VM.exe(其實是飛信架構裡的FetionVM.exe,修改了它的表徵圖和著作權,想改成其它的大家可以用VC改一下,有網友強列要求指出這一點,想不明白為什麼,呵呵,讓指出就指出吧,還要求指出調用的方法,,其實我連來源程式都公布了,用說的這麼明白嗎))啟動9527.exe程式。Loader程式不會開啟任何視窗,並在啟動真正應用程式後立即退出。Loader程式主函數(VC6.0編寫)的代碼如下:
      主函數:

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    TCHAR fwVersion[VERSION];
    if(CheckRegistryKeyExistance(fwVersion))
    {
        if(CompareFWVersions(fwVersion, "2.0"))//最低版本要求2.0
        {        
            RunApplication(".\\app\\9527.exe");//直接運行
        }
        else
        {    
            //應用程式放在APP目錄下,要啟動的程式的名字為9527.exe,
            //9527周星弛在《唐伯虎點秋香》的代號,呵
            RunApplication(".\\FrameWork\\VM.exe \".\\app\\9527.exe\"");//通過虛擬機器運行
        }
    }
    else
    {
        RunApplication(".\\FrameWork\\VM.exe \".\\app\\9527.exe\"");//通過虛擬機器運行
        
    }
     return 0;
}

 判斷是否安裝的代碼就不貼出來了,可以在文章末尾下載整個VC6的工程檔案看。

下面總結一下如何使用:
1. 下載我的例子程式
2. 清空APP下的所有檔案
3. 把你自已的.net可執行程式和相關檔案全部複製到APP下,並將可執行程式的名字改為9527.exe (不喜歡這個名字可以修改Loader程式重新編譯)
4. 把主目錄的“串口工具.exe"名字改成任何你想要的名字。(要改表徵圖的話,建議下載我的Loader來源程式,修改後重新編譯)

大功告成,拿到一台沒裝.net的電腦上試試吧。祝好運。 

相關下載:
     測試程式
     Loader程式原始碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.