備注學(xué)院

          LuLu

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            5 隨筆 :: 50 文章 :: 16 評論 :: 0 Trackbacks
          FROM:http://blog.csdn.net/my22xo/archive/2008/03/14/2183811.aspx

          之前看到有用別的方法來實(shí)現(xiàn)的,但我還是選擇了現(xiàn)在比較流行的軟件飛信中帶的VMDotNet,也就是所謂的.NET FRAMEWORK虛擬機(jī)吧。相信有很多人也已經(jīng)看過相關(guān)文章了,但是對于新手我還是再提一下,在你的飛信的安裝目錄下有一個VMDotNet文件夾,這 個就是我們要用的最主要的內(nèi)容了,先把它COPY出來吧!

                  下面先來簡單說明一下VMDotNet文件夾吧,在這個文件夾之下有一個v2.0.50727文件夾,很明顯是.NET FRAMEWORK的版本號啦,進(jìn)入這個文件夾,里面有一個FetionVM.exe的可執(zhí)行文件(飛信的圖標(biāo)),這個便是我們要用到的虛擬機(jī)文件了。其 它文件我們不用考慮。這個程序可以帶入一個參數(shù),即要在此虛擬環(huán)境下運(yùn)行的程序的路徑。形如FetionVM.exe C:\1.exe,也可以使用相對路徑:FetionVM.exe 1.exe,當(dāng)然這樣要求兩者在同一目錄下啦。這里順便要再說一下VMDotNet.log這個文件,這里記錄了在調(diào)用FetionVM.exe時的錯誤 信息,主要是路徑不對,找不到對應(yīng)的程序。在了解了這個文件夾之后,我們可以動手開始做啦!

                  把這個文件夾復(fù)制到你的項目的DEBUG目錄下,我的已有項目名為PicProcessor,生成的可執(zhí)行文件為,當(dāng)然你也可以視情況而定了,如果放別的地方就應(yīng)該注意一下路徑就好了。

                  在這里我們需要再新建一個C#應(yīng)用程序項目,我把它命名為PicStart,把FORM1.CS刪除,或者直接新建一個控制臺程序,在Program.cs中寫入以下代碼:

          using System; using System.Collections.Generic; using System.Windows.Forms;

          namespace PicStart {     static class Program     {         /// <summary>         /// 應(yīng)用程序的主入口點(diǎn)。         /// </summary>         [STAThread]         static void Main()         {             //下面是調(diào)用外部程序的代碼             System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();             Info.FileName = "VMDotNet\\v2.0.50727\\FetionVM.exe"; //這里是你要調(diào)用到的外部程序             Info.Arguments = "PicProcessor.exe"; //調(diào)用外部程序的參數(shù),這里是圖片處理項目的可執(zhí)行文件,注意不是現(xiàn)在這個項目的可執(zhí)行文件             System.Diagnostics.Process Proc;

                      try             {                 //                 //啟動外部程序                 //                 Proc = System.Diagnostics.Process.Start(Info);             }             catch (System.ComponentModel.Win32Exception e)             {                 Console.WriteLine("系統(tǒng)找不到指定的程序文件。\r{0}", e);                 return;             }         }     } }

                  在做完了這個項目以后我們生成此項目,這個時候我們就可以開始制作程序的安裝文件了。

                   以前我們利用VS2005做安裝包的時候可以選擇把.NET FRAMEWORK集成進(jìn)去,但現(xiàn)在我們不用了,請大家把相應(yīng)的選項全部去掉,還不會使用VS2005安裝和部署功能的朋友請到此網(wǎng)址去看一下。http://www.vs2005.com/Setup/205/1/default.aspx

                   我們把PicProcessor和PicStart項目都添加進(jìn)新建的安裝和部署項目Setup中來,把程序啟動的快捷方式全部設(shè)為 PicStart.exe就可以了,具體的操作方法在上面的鏈接里有。然后開始生成安裝包,生成的安裝包如果選擇大小優(yōu)先的話,VMDotNet會占用大 概10Mb左右的空間,然后加上你程序的大小就是這個安裝文件的大小了,比以前20多MB的.Net Framework小多了,而且安裝速度也要快的多,這樣程序在沒有.Net Framework的機(jī)器上也能運(yùn)行了,大家都試試吧,有什么問題可以給我留言。每天晚上一般我都會上線,會及時給大家回復(fù)的!

                  第一次寫原創(chuàng)技術(shù)文章,不足之處,請大家多多包涵!謝謝!

           轉(zhuǎn)貼自http://hi.baidu.com/ck436/blog/item/b91b5f8295b7e8a10cf4d256.html

           

          此文件是網(wǎng)上轉(zhuǎn)貼過來的,只是給自己作為參考,起拋磚引玉的作用,沒想到也有朋友看了這文章,所以特在此處說明一下:其實(shí)再用.Net作啟動程序是不行的,應(yīng)該用C++6.0的做一個啟動程序,這樣就OK了,呵。08.07.13

          posted on 2008-12-11 09:42 smildlzj 閱讀(382) 評論(0)  編輯  收藏 所屬分類: C#
          主站蜘蛛池模板: 云安县| 武山县| 长白| 大新县| 额尔古纳市| 泸西县| 灵武市| 双桥区| 安溪县| 鸡东县| 合阳县| 四会市| 海伦市| 柯坪县| 江孜县| 镶黄旗| 综艺| 东安县| 玛纳斯县| 垫江县| 津南区| 增城市| 海晏县| 海城市| 上栗县| 象州县| 商南县| 都安| 固安县| 饶河县| 龙海市| 民县| 光山县| 新兴县| 莱芜市| 凤阳县| 娱乐| 若尔盖县| 上高县| 巴彦县| 闻喜县|