使用飞信带的.net虚拟机vmdotnet精减.net安装文件包 (非托管运行)

news/2024/7/8 3:59:31

飞信中带的VMDotNet,也就是所谓的.NET FRAMEWORK虚拟机吧。相信有很多人也已经看过相关文章了,但是对于新手我还是再提一下,在你的飞信的安装目录下有一个VMDotNet文件夹,这 个就是我们要用的最主要的内容了,先把它COPY出来吧!

        下面先来简单说明一下VMDotNet文件夹吧,在这个文件夹之下有一个v2.0.50727文件夹,很明显是.NET FRAMEWORK的版本号啦,进入这个文件夹,里面有一个FetionVM.exe的可执行文件(飞信的图标),这个便是我们要用到的虚拟机文件了。其 它文件我们不用考虑。这个程序可以带入一个参数,即要在此虚拟环境下运行的程序的路径。形如FetionVM.exe C:/1.exe,也可以使用相对路径:FetionVM.exe 1.exe,当然这样要求两者在同一目录下啦。这里顺便要再说一下VMDotNet.log这个文件,这里记录了在调用FetionVM.exe时的错误 信息,主要是路径不对,找不到对应的程序。在了解了这个文件夹之后,我们可以动手开始做啦!

        把这个文件夹复制到你的项目的DEBUG目录下,我的已有项目名为PicProcessor,生成的可执行文件为,当然你也可以视情况而定了,如果放别的地方就应该注意一下路径就好了。

        在这里我们需要再新建一个C#应用程序项目,我把它命名为PicStart,把FORM1.CS删除,或者直接新建一个控制台程序,在Program.cs中写入以下代码:

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

namespace PicStart
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            //下面是调用外部程序的代码
            System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
            Info.FileName = "VMDotNet//v2.0.50727//FetionVM.exe"; //这里是你要调用到的外部程序
            Info.Arguments = "PicProcessor.exe"; //调用外部程序的参数,这里是图片处理项目的可执行文件,注意不是现在这个项目的可执行文件
            System.Diagnostics.Process Proc;

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

        在做完了这个项目以后我们生成此项目,这个时候我们就可以开始制作程序的安装文件了。

         以前我们利用VS2005做安装包的时候可以选择把.NET FRAMEWORK集成进去,但现在我们不用了,请大家把相应的选项全部去掉,还不会使用VS2005安装和部署功能的朋友请到此网址去看一下。http://www.vs2005.com/Setup/205/1/default.aspx

         我们把PicProcessor和PicStart项目都添加进新建的安装和部署项目Setup中来,把程序启动的快捷方式全部设为 PicStart.exe就可以了,具体的操作方法在上面的链接里有。然后开始生成安装包,生成的安装包如果选择大小优先的话,VMDotNet会占用大 概10Mb左右的空间,然后加上你程序的大小就是这个安装文件的大小了,比以前20多MB的.Net Framework小多了,而且安装速度也要快的多,这样程序在没有.Net Framework的机器上也能运行了,大家都试试吧,有什么问题可以给我留言。每天晚上一般我都会上线,会及时给大家回复的!

    如果程序执行时,出现了FileNotFound的异常,,问题出现在VMDotNet文件夹中缺少相应的dll文件。对照vs 2005中的引用文件,把缺少的引用文件拷贝到VMDotNet相应文件夹中。以及拷贝System.Transactions.dll文件到System文件夹下。问题解决!

VMDotNet下载:

http://download.csdn.net/source/1471326


http://www.niftyadmin.cn/n/2644045.html

相关文章

安全域的划分

安全域概述•网络安全域是指同一系统内有相同的安全保护需求&#xff0c;相互信任&#xff0c;并具有相同的安全访问控制和边界控制策略的子网或网络&#xff0c;且相同的网络安全域共享一样的安全策略。广义可理解为具有相同业务要求和安全要求的IT系统要素的集合。网络安全域…

JAVA中list,set,数组之间的转换详解

JAVA的list,set,数组之间的转换&#xff0c;主要是使用Apache Jakarta Commons Collections&#xff0c;具体的方法如下&#xff1a;import org.apache.commons.collections.CollectionUtils; String[] strArray {"aaa", "bbb", "ccc"}; …

CuteEditor6.0使用配置心得体会

CuteEditor是一款功能非常强大&#xff0c;支持图片上传、文件下载和word类似的文字编辑器。并且Vs2003和Vs2005都可以适用。对于新闻发布系统和博客之类的系统&#xff0c;是非常的方便的。对一个刚接触这款编辑器的朋友来说或许会遇到和我一样的许多问题&#xff0c;现在我就…

rsync-服务器之间备份

需求&#xff1a;需要把A服务器上的某些数据定期备份到B服务器中A服务器&#xff1a;#yum install -y rsync#rpm -qa | grep rsync#vim /etc/xinetd.d/rsyncyes改成no ,开启 rsync#chkconfig rsync on #chkconfig --list rsync生成配置文件#vim /etc/rsyncd.…

基线的定义

基线(Baseline)说起. 基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础.所以,当基线形成后,项目负责SCM的人需要通知相关人员基线已经形成,并且哪儿可以找到这基线了的版本.这个过程可被认为内部的发布.至于对外的正式发布,更是应当从基线了的版本中发布…

经纬度编码转换

众所周知&#xff0c;包括LT在内的所有导航软件的地图&#xff0c;就是经纬度坐标的点的集合。然后&#xff0c;与GPS的经纬度信号匹配&#xff0c;才能应用成为导航。但是由于国家政策原因&#xff0c;LT不能直接用经纬度定位一个目标。为此&#xff0c;LT用了一种变通的方法&…

MySQL锁表解决方法(转)

MySQL锁表解决方法 一、我的处理过程 1、查进程&#xff0c;主要是查找被锁表的那个进程的ID SHOW PROCESSLIST; 2、kill掉锁表的进程ID KILL 10866;//后面的数字即时进程的ID 网上找了些资料&#xff0c;了解了一下&#xff0c;先分享一下&#xff1a; 二、mysql的锁表问题 …

关于准系统,镭波,地球人等等其他牌子的机器介绍和外星人的比较

2019独角兽企业重金招聘Python工程师标准>>> 现在越来越多的人开始关注alienware&#xff0c;也许是因为他无与伦比的个性外形&#xff0c;花哨浮夸的弥红灯&#xff0c;又或者是君临天下&#xff0c;不可一世的彪悍性能。当然由于alienware过高的价格&#xff0c;导…