DIY安装程序 我用的是WINFORM虽然VS有自带安装部署程序,但是我现在有一些原因需要自己DIY一个安装过程。界面什么的都差不多了但是就是不知道把若干文件杂合成一个exe的文件请大家赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你要diy到什么程度。InstallShield比自带的安装程序制作较灵活一点 Install Sheild 安装制作工具 也不可以用Windows Installer等工具因为安装界面是不能有的,要有,也是要我去自定义安装界面的。其实也算不上什么安装就是几个文件,要压缩在一起成一个exe之后点击exe,要把集成在里面的几个文件给解压缩到某个路径下。 不是的。不能有解压缩的过程界面的。你可以理解为,用户点击我的XX.EXE之后,我偷偷的从XX.EXE里解压缩出几个文件,莫名其妙的放在了硬盘某处。但是这个过程,界面什么的,都是由我来DIY控制的。或者你干脆理解为没有过程也行。完全没有过程,就种植了几个木马文件,就这么理解吧 一种简单的方法:单击菜单:项目->属性->资源,选择添加文件,现有文件,将需要的Test.Exe文件作为资源加进项目然后,在解决方案资源管理器里的Resources文件夹里,找到刚才作为资源身份加进来的Test.exe文件,在属性窗口选择基生成操作的属性为嵌入的资源,保存一下你再回头到到项目的Properties文件夹里,查看Resources.Designer.cs文件,里面有如下代码:internal static byte[] Test { get { object obj = ResourceManager.GetObject("Test", resourceCulture); return ((byte[])(obj)); } }意思就是,项目将Test.exe文件作为byte[],而且是只读的属性,要访问,需要全完整的命名空间即可如MyWork.Properties.Resources.Test.Test就可以得到Test.exe文件的对应字节数组再将字节数组写成文件改好文件名即可:byte[] bytes = MyWork.Properties.Resources.Test; FileStream fs = new FileStream(@"e:\Test.exe", FileMode.Create); fs.Write(bytes, 0, bytes.Length); fs.Flush(); fs.Close();找到E盘的Test.exe文件双击运行,一切正常 谢谢yangglemu1,我不是在做木马。2,请问我把一个文件添加进资源后,我怎么取出来呢?比如我添加进资源的,是一个MP3格式的文件,我怎么取出来并复制到某处呢?请指教 byte[] bytes = MyWork.Properties.Resources.Test; FileStream fs = new FileStream(@"e:\Test.exe", FileMode.Create); fs.Write(bytes, 0, bytes.Length); fs.Flush(); fs.Close();已经写的很清楚了,嵌入的Exe文件是以byte[]字节数组的形式放在你的资源文件里,是只读的属性然后将此字节数组用FileStream类写在磁盘上即可我试过了,写出来的文件能够正常执行 使用winrar压缩程序为exe文件,再点击安装 谢谢你,你代码里的MyWork是什么意思啊? C#中分隔字符串 DevExpress中的GridView怎样设置某一个单元格的编辑状态 两个应用程序exe 互传多个参数 请问VS2005自带的“TableLayoutPanel”控件 可以实现手工调整各个Panel的大小么? 有安装vista系统的吗? 用C#+SQL2000做高级搜索(或全文检索) .NET 实现跨数据库操作 在winform的一个按钮下如何实习点击进入站点解决送全分 请教关于一个数据结构的面试题 小问题:关于C#函数中的可选参数^_^# mobile:Command 如何设置成不可用 调查:在学习C#过程中遇到的难题是什么?
安装制作工具
因为安装界面是不能有的,要有,也是要我去自定义安装界面的。
其实也算不上什么安装
就是几个文件,要压缩在一起成一个exe
之后点击exe,要把集成在里面的几个文件给解压缩到某个路径下。
不能有解压缩的过程界面的。
你可以理解为,用户点击我的XX.EXE之后,我偷偷的从XX.EXE里解压缩出几个文件,莫名其妙的放在了硬盘某处。但是这个过程,界面什么的,都是由我来DIY控制的。或者你干脆理解为没有过程也行。完全没有过程,就种植了几个木马文件,就这么理解吧
单击菜单:项目->属性->资源,选择添加文件,现有文件,将需要的Test.Exe文件作为资源加进项目
然后,在解决方案资源管理器里的Resources文件夹里,找到刚才作为资源身份加进来的Test.exe文件,在属性窗口选择基生成操作的属性为嵌入的资源,保存一下
你再回头到到项目的Properties文件夹里,查看Resources.Designer.cs文件,里面有如下代码:
internal static byte[] Test {
get {
object obj = ResourceManager.GetObject("Test", resourceCulture);
return ((byte[])(obj));
}
}意思就是,项目将Test.exe文件作为byte[],而且是只读的属性,要访问,需要全完整的命名空间即可如MyWork.Properties.Resources.Test.Test就可以得到Test.exe文件的对应字节数组
再将字节数组写成文件改好文件名即可:byte[] bytes = MyWork.Properties.Resources.Test;
FileStream fs = new FileStream(@"e:\Test.exe", FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
fs.Close();
找到E盘的Test.exe文件双击运行,一切正常
1,我不是在做木马。
2,请问我把一个文件添加进资源后,我怎么取出来呢?比如我添加进资源的,是一个MP3格式的文件,我怎么取出来并复制到某处呢?
请指教
FileStream fs = new FileStream(@"e:\Test.exe", FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
fs.Close();
已经写的很清楚了,嵌入的Exe文件是以byte[]字节数组的形式放在你的资源文件里,是只读的属性
然后将此字节数组用FileStream类写在磁盘上即可
我试过了,写出来的文件能够正常执行
谢谢你,你代码里的MyWork是什么意思啊?