C#开发的Winform程序,如何制作绿色免安装的的程序

C#开发的Winform程序,如何制作绿色免安装的的程序,第1张

你制作完毕以后,发给别人exe,通常别人都是无法打开的。

因为你用c#编写的代码要运行在net平台上,对方没有fraemwork框架,所以你要把框架打包给他。

因为目前除了vista系统以外,其他的系统不包含net20

绿色软件的优点,就是对 *** 作系统无污染(恐怕这也是绿色这个名字的由来),不需要安装,方便卸载,便于携带,可以拷贝到便携的U盘上到处运行。

我的意见是,绿色软件应该分类,分为狭义的绿色和广义的绿色:

狭义的绿色可以叫做纯绿色软件,就是指这个软件对现有的 *** 作系统部分没有任何改变,除了软件现在安装的目录,应该不往任何地方写东西,删除的时候,直接删除所在的目录就可以了,就类似于以前的大多数DOS程序。

广义的绿色就是指不需要专门的安装程序,对系统的改变比较少,手工也可以方便的完成这些改变,比如拷贝几个动态库,或者导入注册表,这里的关键是手工可以方便的完成这些改变,或者可以借助于批处理等等脚本完成。

为什么要分为两类?虽然狭义的绿色软件最为理想,但是完全符合这种定义的软件非常罕见,而相当多的软件可以划分到广义的绿色这个类别,这样包括了广义的绿色软件的概念后使得绿色软件这个概念更有意义。

那么不符合绿色软件要求的有哪些呢?主要是指那些和 *** 作系统联系和集成非常紧密的软件,这些软件不适合制成绿色软件,最好还是用原来的安装程序来安装。如IE6,替换了系统中的许多动态库,手工完成这个过程很困难,也不太安全。又比如大多数杀毒软件,如果 必须实时监控系统的底层运作,对系统的修改比较大,就不适合做成绿色软件。还有微软公司的Office系列软件,和系统集成的也比较紧密。但是广义的这个标准比较灵活,如果有人搞清楚了Office系列软件的安装制作过程,也有可能制作出广义的绿色的Of fice系列。

为了充分理解绿色软件的定义,必须从现代软件的安装过程和运行过程两个方面来讨论。

安装过程:以前在dos下面的时候,就没有这些所谓绿色软件的说法,原来程序的安装基本上都是简单的复制或者解压缩,然后配置一下configsys 和autoexecbat文件就可以了。随着windows的发展,应用软件也越来越大,也越来越复杂,从而有公司专门从事安装程序的制作,如InstallShield就是一款比较有名和应用比较广泛的安装软件,现在windwos也有了专门的安装程 序,就是Microsoft Installer。安装程序的作用是什么呢?主要是为了给要安装的程序提供一个简单方便的设置环境,而不需要用户手工完成这个步骤,越是复杂的配置过程,对系统的修改越多,对安装程序的依赖性就越高,Windows程序的易学易用的优点和良好的安装界面 是分不开的,安装软件的任务就是给应用程序提供一个初步完好的可以运行的环境,而不需要用户进行手工配置。

运行过程:应用程序启动的时候,从注册表或者配置文件中读取配置,运行的时候,可以修改配置,但这个修改一般是在安装软件所作工作的基础上进行的,例如不能改变应用程序的安装位置了。

明白安装过程和运行过程的区别后,很容易就想到把绿色软件的使用按照这两个阶段分为绿色安装过程和绿色运行过程。绿色安装是绿色运行的前提,没有绿色安装,也就说不上什么绿色运行了,绿色软件首先必须是绿色安装,我前面提到的不适合绿色软件标准的基本上都 是不能绿色安装的。

绿色安装的基本含义,我认为可以也可以分为狭义的和广义的绿色安装:

1 狭义的绿色安装就是指直接拷贝或者解压缩到目标目录,不需要向系统目录拷贝也不需要写入注册表,这是最理想的情况,或者是安装程序的作用除了解压缩外是可以忽略的,如在开始菜单加入快捷键等对系统和软件的运行没有太大影响的 *** 作,也就是说安装过程的作用就 是复制文件到目标文件夹。

2 广义的绿色安装就是指在狭义的复制的基础上,必须向系统目录拷贝一些动态库,或者要在注册表中导入必要的设置,或者要进行一些其他的配置,否则的话,应用程序不能运行,而且这个配置工作应该比较简单,也容易撤销这些 *** 作对系统的改变。

同样,绿色运行也可以分为狭义的和广义的绿色运行:

1 狭义的绿色运行指的是软件运行时完全不改变 *** 作系统的文件和配置--很多小程序属于这个类别,或者运行结束后把撤销对系统的改变,比如运行的时候加载一个驱动程序,退出时卸载该驱动程序,所 *** 作的INI文件在自己的程序目录中。

2 广义的绿色运行指的是可以通过程序本身来改变当前的设置,如改变当前软件的运行方式,或者与某些文件后缀相关联,或者在注册表中留下当前的软件设置,也就是说对系统的注册表有永久的改变,但是这些改变都是应用程序自己完成的,不需要借助其他程序或者用手工 完成。

综合绿色安装和绿色运行,可以把绿色软件细分为:

1 狭义的绿色安装,同时是狭义的绿色运行的软件,对 *** 作系统没有任何改变。

2 狭义的绿色安装,广义的绿色运行的软件,软件的配置工作由软件本身来完成,不是通过安装程序。

3 广义的绿色安装,狭义的绿色运行,软件的配置工作由安装程序来完成,软件本身不能对配置修改,同时如果没有配置工作,软件无法正常运行。

4 广义的绿色安装,广义的绿色运行,最复杂的一种绿色软件,软件的配置工作由安装程序来完成,但是软件本身可以对配置 修改,同时如果没有配置工作,软件无法正常运行。

只有第一个类别属于我说的狭义的绿色软件,其他3类都属于广义的绿色软件的范畴。

下面讲一下绿色软件的制作,简称软件的“绿化”,绿色软件的制作实际上就是我们自己完成安装程序的工作。没有什么固定的方法,基本上是猜测加上试验,不同类别的绿色软件分别有不同的制作策略。

拿到一个新的软件,想要制成绿色软件的话,我一般遵循如下步骤:

1 判断。就是指猜测这个软件能不能制成绿色软件,从功能,从你对它的了解,如果你觉得这个软件和系统的关系非常紧密,就不要继续下去了,还是用原始的安装程序最保险最方便,这样的例子有directx9 ,IE6,Norton的反病毒软件等等。这样的判断可以节省你的时间,当然你可以忽略这一步,尝试制作绿色软件,那么就转到第2步。

2“绿化”。对于不同的软件有不同的方法,没有一定的规则,但是总的来说,就是理解软件的安装过程,转换为绿色安装,在这个过程中,可能需要尝试多个方法,也可能最后由于软件的复杂性或者某些特性,导致无法绿化。要有失败的思想准备,具体的绿化方法随后讲 述。

3 测试。”绿化“后的测试最好到你个全新安装的 *** 作系统中测试,而且如果你要在多个 *** 作系统中使用这个软件的话,还要在其他的 *** 作系统中测试,有的软件的文件随着 *** 作系统的不同而不同,这个时候你需要在不同的 *** 作系统中进行”绿化“过程,最后综合为一个完整 的适应多个 *** 作平台的绿色软件。

“绿化”方法,需要根据经验选择不同的“绿化”方法,也可能需要不断尝试不同的方法,直到成功为止。按照先易后难的次序,具体的方法包括:

1 解压缩。这是最简单的一种方法,就是指尝试能不能直接解开软件的压缩包。用Winzip和Winrar试一试,看看能不能直接打开压缩的安装文件,如果不能打开,那么就换别的方法。如果可以,那么恭喜,这个软件多半是属于绿色安装的软件(有个别例外,如E mEditor),把压缩包中的文件直接解压到目标路径,然后测试软件的功能是否正常,如果功能正常,那么“绿化”就成功了,如果使用不正常,那么就换别的方法。这一类软件的特点是安装程序的工作完全可以由软件自身来完成。

2 安装然后卸载。也是比较容易的方法,完全是体力劳动,就是指直接安装这个软件,然后把程序复制出来,最后卸载安装程序。如果这个软件的安装程序的作用仅仅是复制文件和生成快捷键等工作,那么就属于绿色安装,可以使用这个方法。最后测试软件的功能是否正常, 如果功能正常,那么“绿化”就成功了,如果使用不正常,那么就换别的方法。

3 反编译安装程序。这个方法需要动脑筋,就是根据安装程序所用的制作工具,选择相应的反编译程序,然后阅读反编译出的安装脚本,制作绿色软件。目前的软件大多使用专门的安装工具制作,如InstallShield,Wise,Inno Setup,Windows Installer,NSIS(Nullsoft),Installer VISE,其中Windows Installer格式的安装文件(就是MSI,MST为后缀的文件),可以通过微软的免费工具Orca打开查看,InstallShield格式的安装文件也有很多免费的工具可以解压缩和查看脚本。当然专门的安装工具很多,有许多安装程序没有相应的反编 译程序,这种时候,就无法使用这个方法了。

4 观察反安装程序和log文件。现在的软件安装完成后绝大多数都带有卸载方法。卸载是安装的逆过程,如果知道怎么卸载,那么也可以推测出如何安装。由专门的安装工具制作的反安装程序,一般都是根据某一个文件中的信息来卸载的,可以用一个纯文本的编辑器打开这 个文件。个别情况下这个文件完全不包含可读信息,就只好换用其他方法了。具体过程就是先采用方法2,然后理解反安装过程,最后根据反安装的信息制作绿色软件。

5 比较系统快照。当前面的方法都失败的时候,可以试一试这个方法。具体思路就是首先在安装软件之前,把系统的状态记录下来,主要包括注册表和系统目录的所有的文件状态。然后就是安装软件。安装完成后,再一次记录系统状态。最后就是比较前后两个系统状态的不同 ,而得知安装程序所做的工作。这个工作一般由专门的软件完成,如免费工具Regshot,免费工具inctrl5(>

如何使用ThinApp制作绿色便携版软件 - tengstudio的日志 - 网易博客

>

1、双击桌面上的Microsoft Visual Studio 2008,打开软件。

2、点击文件——新建项目——windows窗体应用程序。

3、输入项目名称,选择程序文件路径,点击确定。

4、这样就打开了项目编辑窗口,完全的可视化编程界面。

5、修改窗体里面的TEXT属性,这里就是窗口显示的名字。

6、打开工具箱,把“TextBox”拖动到窗体中,它现在是单行文本。

7、点击单行文本框的小三角符号,d窗的框里面勾选复选按钮,如图所示。

8、此时,文本框就变为了多行文本框。

9、拖动一个button按钮到窗体上。

10、调整按钮位置和大小,修改按钮名字。

11、双击button按钮,打开代码编辑界面、

12、如图所示在Click事件中输入如下代码

textBox1Text = "想要的内容”。

13、点击绿色三角按钮,运行程序如图所示。

14、点击按钮如何反馈百度经验BUG会在文本框中出现如图文字

15、点击如图所示按钮,打开程序所在位置。

16、进入到如图所示文件目录下,就可以看见我们制作好的exe文件。

17、在"百度exe"上直接单击右键,复制。

18、最后这个文件直接粘贴出来,放在任何电脑上都可以直接运行了,记住exe文件容易被误解为病毒程序记得放行或者添加信任。

首要有必要了解一下javaexe 如何寻找JRE库的:

当在控制台执行javaexe, *** 作系统寻找JRE的方式如下:

1) 先找当前目录下有没有JRE

2)再找父目录下有没有JRE

3)接着在PATH路径中找JRE

4)注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\ 查看CurrentVersion的键值指向哪个JRE

2JRE类库查找

JRE自带的基础类库主要是JRE\lib\rtjar这个文件,包括了Java2平台标准版的所有类库。和JRE的版本一致。

JRE中由ClassLoader负责查找和加载程序引用到的类库,基础类库ClassLoader会到rtjar中自动加载,其它的类库,ClassLoader在环境变量CLASSPATH指定的路径中搜索,按照先来先到的原则,放在CLASSPATH前面的类库先被搜到,Java程序启动之前建议先把PATH和CLASSPATH环境变量设好,OS通过PATH来找JRE,确定基础类库rtjar的位置,JRE的ClassLoader通过CLASSPATH找其它类库。但有时候会出现这样的情况,希望替换基础类库中的类库,那么也可以简单的通过-Djavaendrosedpath=参数传递给javaexe,于是ClassLoader会先于基础类库使用javaendrosedpath参数指定路径的类库。因此Java的版本管理是非常简单有效的,也许很原始,不过很好用,简单就不容易出错。

3Java的虚拟机启动和加载类库

在Console执行javaexe xxx命令以后,如前所述的寻找JRE,OS找到JRE目录,根据javaexe的传递参数,选择加载Server版的jvmdll还是Client版的jvmdll,然后加载jvmdll,把控制权交给jvmdll。

接下来,jvmdll进行初始化,分配内存等等动作,然后在CLASSPATH路径中寻找class,找到class以后,寻找class中的程序入口点Main函数,然后从Main函数执行程序,在执行过程中,使用ClassLoader动态加载一系列引用到的类。当调用到native方法时,jvmdll告诉OS在JRE\bin目录下寻找某某DLL文件,调入内存,于是实现了JNI调用。

以下以三个例子,说明如何打包JRE和第三方类库,根据需求综合来使用就可以了:

一、

1首先将程序打包(这一步可以通过eclipse的导出完成)。

2为项目添加第三方jar包。在第1步打好的jar包的同级目录下,新建一个lib(名字可以自取)文件夹。用winrar等解压文件打开第1步做好的jar包,到META-INF目录下,打开MANIFESTMF文件,修改它:在Main-Class上面一行加上:Class-Path:lib/1jar lib/2jar其中lib是刚才我们建的文件夹名,1jar和2jar是我们需要的第三方包,每两个第三方包之间由空格分开。

3在第1步打好的jar包的同级目录下,新建一个jre文件夹,把jre运行环境考贝到这里面来。

4在第1步打好的jar包的同级目录下,新建一个文本文档,加上下面的语句:start jre/bin/javaw -jar HydraKyouFeng_v02s_swtjar

这表示通过同级目录里面jre文件夹下的javaw -jar来运行我们的jar包(也就是第1步打好的jar包,我这里的名字是HydraKyouFeng_v02s_swt)。

5到了这一步,我们双击jar包已经能在原本没有jre环境平台里面直接运行了。

二、

运行实现希望目的目录结构(以test目录为例):

test 存项目java文件生成的class,jar 等文件

test/jre/bin 复制对就jdk中的 bin目录就可以。

test/jre/lib 复制对就jdk中的 jre/lib 目录就可以。

建立以上目录结果之后就可以将test/jre/bin/javaexe 发送到桌面快捷方式。

然后修改一下那快捷快方式 目标(T)标位 改成 /test/jre/bin/javaexe test ,

这里要注意的是 起始位置(S) 一起在改一下!如下:/test/ 。

随后使用javawexe启动。

三、

1、先创建一个manifestmf的文件,内容为

Main-Class: ExcelCount(class类路径,我的为与manifestmf相同路径)换行

2、将程序中要导入的jar包解压,放到相同目录中,我的为org文件夹

3、运行cmd,输入如下

jar cvfm ExcelCountjar manifestmf ExcelCountclass ExcelCount$1class OpenListenerclass org

其中ExcelCountjar为将要生成的jar文件,三个class文件是要打包的文件,org即为引入jar包所在文件即可生成可执行jar包

4、运行jar文件

jar文件可以在安装jdk的机器上直接运行,启动cmd命令,输入java -jar jar文件路径,也可以运行与没有安装jdk的机器上,不过要将jdk安装后目录下的jre文件,我的为D:\java\jdk160_3\jre,全部复制到jar文件所在目录下,再新建一个名为runbat的文件,runbat文件的内容为

start jre\bin\javaw -jar jar文件名

我的此文件内容为

start jre\bin\javaw -jar ExcelCountjar

以后再没有安装jdk的机器上只要运行runbat文件就可以了

1mysql可以使用压缩版本的,使用 bin下的mysqld-ntexe在自己的安装脚本编写安装成服务2jre可以放在自己项目的工程下,可以使用压缩版本。3自己编写一个启动程序,使用java来启动java里的主类就可以了 说明:启动类可以用其他程序编写,使用createprocess就可以启动,或用shellexecute来启动都可以,启动后自己关闭自己,这样就只有java的程序在运行了。还有不清楚的地方可以和联系 QQ:82599298

1、首先电脑上安装谷歌浏览器,安装后我们找到存放安装程序副本的文件夹。谷歌浏览器安装是没有安装目录选择的,都是直接安装在系统默认程序文件夹下。

我们要找的这个文件夹路径是:

Windows 7:系统盘:Users用户名AppDataLocalGoogleChromeApplication程序版本号Installer。

Windows XP:系统盘:Document and Settings用户名Local SettingsApplication DataGoogleChromeApplication程序版本号Installer,应该是这个路径,推算出来的,没有在XP下核实过。不对可以周边找找,总是在附近的。

就是下面这个文件夹,如果你谷歌浏览器已经更新多次了,里面会有各个版本的安装程序副本,我们选择一个最新的来制作。

2、解压上图中的chrome7z压缩包,得到Chrome-bin文件夹,将里面的chromeexe文件复制到同目录下的那个程序版本号文件夹下。这样,这个文件夹就是便携版谷歌浏览器所有需要的程序文件了,不过使用,还需要做一些设置。

创建一个chromeexe快捷方式,在属性位置后面加上浏览器缓存文件夹指定,加上 -user-data-dir=chrome_user_data这句,如下图,不指定它会使用默认路径缓存文件。设置后,使用会在同目录下生成一个chrome_user_data文件夹用于储存浏览器缓存使用。

3、设置完成后运行创建的Chromeexe快捷方式即可打开使用,不要直接运行那个Chromeexe使用,不然使用的缓存文件会按默认路径存储。另外首次打开使用,它会在桌面生成一个无效图标,这个没什么用,删除即可。

4、到这里,一个绿色版的谷歌浏览器就制作完成了,之后,我们可以随意复制移动到其它文件夹下使用,也可以重命名这个文件夹,比如命名为chrome_portable。更改目录和文件夹名称后,要注意修改一下chromeexe快捷方式属性里的程序目标和起始位置。

以上就是关于C#开发的Winform程序,如何制作绿色免安装的的程序全部的内容,包括:C#开发的Winform程序,如何制作绿色免安装的的程序、如何将一款软件做成绿色免安装版、如何制作绿色便携版软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10168732.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存