1. winform打包成安装程序
使用VS 自带的打包工具,制作winform安装项目
开发环境:VS 2008 Access
操作系统:Windows XP
开发语言:C#
项目名称:xxxxxx
第一步:打开开发环境VS2008,新建项目,选择其他项目类型,再选择"安装项目",输入名称及选择安装路径;
第二步:进入文件系统选项卡,选择应用程序文件夹,在中间的空白区域右键选择"添加文件",添加项目文件(exe,dll);
第三步:添加项目所需文件;这里有两个文件夹需要注意(DataBase和Report),因为DataBase是存储项目数据库,而Report则是存储项目所需的报表文件.rpt,因此呢,在应用程序夹中也需要建同名的文件夹,并且添加所需的文件。
第四步:为了在开始程序菜单中和桌面应用程序中看到安装程序,这里我们就需要为项目创建快捷方式。右键选择可执行文件(PersonFinance.exe),创建快捷方式,进行重命名"**公司**管理系统",将该快捷方式拖放到 用户的"程序"菜单 中。重复该步骤将新建的快捷方式添加到 "用户桌面" 文件夹中,最好在用户菜单中建立一个文件夹,存放安装程序
第五步:设置系统必备,右键选择安装项目,进入属性页中,单击"系统必备"按钮,进入系统必备对话框;勾选"创建用于安装系统必备组件的安装程序",在安装系统必备组件列表中,选择
1)、Windows Installer 3.1(必选)
2)、.NET Framework 3.5 (可选)参考最后说明
3)、Crystal Report Basic for Visual Studio2008(x86,x64) (可选) 项目中用到了水晶报表就需要勾选此项
重要一点:勾选"从与我的应用程序相同的位置下载系统必备组件(D)",其实意思就是说你勾选后,生成安装项目时,在你安装项目的路径下,会有你在系统必备组件列表中勾选的组件.(系统自动完成,这一点还不错,不需要你自己去下载组件)
第六步:卸载程序,因为安装包做好之后不能只有安装程序,还要有卸载程序
1)在"C:WINDOWSsystem32"路径下,找到msiexec.exe 添加到应用程序文件夹中,创建快捷方式,并命名"卸载管理系统"或"Uninstall"
2)其次呢,选择安装项目的ProductCode
第七步:更改安装程序属性,右键选择安装项目属性,可以设置项目作者及名称,其他属性信息可以根据实际情况进行设置.
第八步:生成安装项目
生成时,会出现些警告:应将“msiexec.exe”排除,原因是其源文件“C:WINDOWSsystem32msiexec.exe”受到“Windows 系统文件保护”。
两个或多个对象具有相同的目标位置(“[targetdir]model.dll”)
解决方案:
第一种:都不处理
第二种:第一类警告,可以编写卸载程序
第二种警告:删除相同的文件
2. c# 打包成安装文件
WinForm吗 直接点击界面上的按钮,右键属性找到一栏里面有click事件,不知道双击会自动创建事件不,太久没写了
3. c++程序打包成安装程序
C一般不能直接调用C++函数库,需要将C++库封装成C接口后,才可以使用C调用。 下面举例,说明一个封装策略: //code in add.cxx #include "add.h"int sample::method(){ cout<<"method is called!\n";}//code in add.
h #include using namespace std;class sample{ public: int method();}; 将上面的两个文件生成动态库libadd.so放到 /usr/lib目录下,编译命令如下: sudo g++ -fpic -shared -g -o /usr/lib/libadd.so add.cxx -I ./ 由于在C中不能识别类,所以要将上面类的成员函数,要封装成C接口函数才能被调用。下面进行封装,将输出接口转换成C接口。//code in mylib.cxx#include "add.h"#ifndef _cplusplus#define _cplusplus#include "mylib.h"#endifint myfunc(){ sample ss; ss.method(); return 0;}//code in mylib.
h #ifdef _cplusplusextern "C"{#endifint myfunc();#ifdef _cplusplus}#endif 在linux下,gcc编译器并没用变量_cplusplus来区分是C代码还是C++ 代码(没有宏定义),如果使用gcc编译器,这里我们可以自己定义一个变量_cplusplus用于区分C和C++代码,所以在mylib.cxx中定义 了一个变量_cplusplus用于识别是否需要“extern "C"”将函数接口封装成C接口。但是如果使用g++编译器则不需要专门定义_cplusplus,编译命令如下: g++ -fpic -shared -g -o mylib.so mylib.cxx -la -I ./main.
c #include #include #include "mylib.h"int main(){ int (*dlfunc)(); void *handle; //定义一个句柄 handle = dlopen("./mylib.so", RTLD_LAZY);//获得库句柄 dlfunc = dlsym(handle, "myfunc"); //获得函数入口 (*dlfunc)(); dlclose(handle); return 0;} 编译命令如下: gcc -o main main.c ./mylib.so -ldl 下面就可以执行了。 需要说明的是,由于main.c 和 mylib.cxx都需要包含mylib.h,并且要将函数myfunc封装成C接口函数输出需要“extern "C"”,而C又不识别“extern "C"”,所以需要定义_cplusplus来区别处理mylib.h中的函数myfunc。 在main.c的main函数中直接调用myfunc()函数也能执行,这里介绍的是常规调用库函数的方法。
4. winform打包成exe
最近一直在做winform程序,做完后程序打包很头疼,第三方打包工具,好用的花钱,不花钱的不好用,最后只能用vs自带的打包工具了!打包过程vs2010(包含卸载功能):
1、添加安装和部署。首先打开一个要进行打包的项目的设计界面,然后点击vs
5. winform打包成安装程序遇到问题
这是不行的,因为winform本身就依托于.net环境.netframework为我们封装了对电脑的各种操作,你所使用的所有c#语法(如MessageBox.Show("123");它会绘制一个窗口然后在显示器上输出“123”)都是.net为我们封装好的,这些语法会综合使用底层的API接口以达到我们想要的功能,如果没有.net环境计算机底层就不能识别我们写的代码,当然就无法运行所以你可以在程序打包发布时加上.net4.5的安装包,这样就可以在所有Windows上运行了如果你是指在非Windows平台运行,那winform是达不到的,因为.netframework是不能跨平台的;但是现在微软新出一个跨平台的开源框架.netcore;此框架可以保证基于此框架的.net程序可以在所有操作系统上运行但是这个框架也不能运行winform程序,你只能用.net语法在.netcore上重新实现你的功能才能跨平台,只是现在.netcore上并没有一个像winform这样好的界面开发方式
6. winform程序怎么打包
VS本身提供安装包制作工具,就是安装和部署,但是不是很好用,推荐你用AdvancedInstaller10,安装包制作工具,直接加载你的项目就可以了,按照步骤走完就能生成安装包,一个EXE文件,你的客户点击安装就可以了。 另外我是不是理解错了,你是希望整个程序都是一个EXE吗,如果是的话你就不能有类库文件,吧所有代码都写到一个解决方案里就只有一个EXE了,不过不建议这么做!
7. windows程序打包成安装包
进入设置>应用和通知>应用管理>更多>显示系统进程>找到打包安装程序>存储,点击删除数据后,再找到打包安装程序,点击删除即可
最后将显示手机中各种安装程序的内存占有情况,选择要清理的,弹出界面中的“清除数据”即可。
- 相关评论
- 我要评论
-