VS2008安装部署工程制作教程
visualstudio2008开发环境
1 .3 Visual Studio 2008开发环境微软 Visual Studio ,中文意思是可视化工作室。
使用Visual Studio 2008 可以很方便地进行各种项目的创建、具体程序的设计、程序调试和跟踪以及项目发布等。
1 .3.1安装Visual Studio 2008目前Visual Studio 2008 有 3 个版本: Visual Studio 2008 Professional 版本、 Visual Studio 2008 Standard 版本和 Visual Studio Team System 2008 Team Suite版本,其中前两种又统称VisualStudio 2008 ,适用于个人和小型开发团队,以采用最新技术开发应用程序和实现有效的业务目标,第三种为体系结构、设计、开发、数据库开发以及应用程序测试等多任务的团队提供集成的工具集,在应用程序生命周期的每个步骤,团队成员都可以协作并利用一个完整的工具集与指南。
【例 1-1 】将 Visual Studio 2008 安装到计算机中。
1 .3.2创建Web项目【例 1-2 】利用 Visual Studio 2008 创建一个项目,操作步骤如下。
(1) 选择【开始】【| 所有程序】【| Microsoft Visual Studio 2008 】| 【 Microsoft Visual Studio 2008】命令,打开Visual Studio 2008 ,如图 1-11 所示。
(2) 单击【项目】按钮或选择【文件】|【新建】命令,打开如图1-12 所示的【新建项目】对话框,在【新建项目】对话框左边显示了可以创建的项目类型,右边显示与选定的项目类型对应的项目模板。
展开【Viusal C# 】节点,选择【 Web】子节点,在对话框右边显示了可以创建的Web 项目的模板。
选择【 Web 应用程序】选项,在【名称】文本框中输入项目名称,并选择相应的存储目录,单击【确定】按钮即可创建一个新的Web 项目。
Microsoft Visual C++ 2008 发布程序的部署问题
Microsoft Visual C++ 2008 发布程序的部署问题VS2008编译的程序在Windows2008环境上运行时经常出现如下问题:应用程序事件日志如下:上述两个问题都解决后则可能还出现如下问题:注意:此时是调用dll出现问题了,而不是运行主程序出错。
主要问题是“找不到从属程序集Microsoft.VC90.MFC”,解决办法如下:将整个“C:\Application\Microsoft Visual Studio 9.0\VC\ redist\x86\Microsoft.VC90.MFC”拷贝到exe文件所在目录下,如果exe程序所涉及调用的dll与该exe文件不在同一目录,那么须要在dll所在目录也拷贝一份。
详细描述如下:这个问题有好多Blog和Forum已经讨论过了,但都不详尽,在具体的操作过程中还是有许多疑问。
我摘录并整合了许多网络文章,希望能够做个最终了结。
一、VC2005和VC2008编译出来的程序如何发布/lf426/archive/2008/04/12/46885.aspxVC2005和VC2008编译出来的程序放到别人的电脑上为什么有可能无法运行呢?1:Microsoft Visual C++ 2008 Express Edition可以发布软件吗?能!很多人说,因为是Express版,不是Studio,所以只是用来练习语言的,不能发布软件——错!除了没有MFC和ATL,基本上跟 .net 版本是一样的。
发布出来的,是完整的可执行文件。
2:VC 2008 (2005) 发布出来的程序必须附带上他们特定的dll文件吗?不一定。
如果目标系统是个经常升级的系统,微软已经为其打上了所需要的dll文件补丁了,不需要在软件包里面附加特定的dll文件。
特别在Vista系统中,你更是不需要VC8和VC9的dll文件。
但是在一些老版本的系统中,这些文件就是必须的。
3:VC2008和VC2005特定的dll文件是哪些?VC8: msvcm80.dll, msvcp80.dll, msvcr80.dllVC9: msvcm90.dll, msvcp90.dll, msvcr90.dll4:如何部署文件?首先,请选择release版本;在生成可执行文件(exe文件)的时候,会得到相应的部署文件(manifest文件)。
VS2008新建、发布、调用Web服务
1、文件>>新建网站2、写一个简单的方法具体代码如下:using System;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Linq;[WebService(Namespace = "/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// 若要允许使用 AJAX 从脚本中调用此Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]public class Service : System.Web.Services.WebService{public Service () {//如果使用设计的组件,请取消注释以下行//InitializeComponent();}[WebMethod]public string HelloWorld() {return"Hello World";}[WebMethod]public int Add(int a, int b){return a + b;}}3、启动调试,会看到浏览器中有如下效果:红色线框内显示的”Add”和”HelloWorld”即为上面代码中实现的两个WebMethod。
4、单击”Add”,会有如下效果:5、在步骤4中输入参数5和6,得到如下效果:<?xml version="1.0" encoding="utf-8" ?><int xmlns="/">11</int>这说明所写的方法没有错,建立Web服务的第一步就算成功了。
OSG(OpenSceneGraph) vs2008
OSG(OpenSceneGraph) + vs2008一、准备安装资料包括程序(请到官方网站都可以下载)(1)OpenSceneGraph-2.2.0 (源程序包)(2)cmake-2.6.4-win32-x86.zip 安装源代码需要的工具(3)OpenSceneGraph-Data-2.8.0.zip 数据文件包(4)3rdParty_Win32binaries_2005_05_10.zip WINDOWS支持的图形库打开OSG官方网站,在左边树型菜单里可以找到Downloads,点击进入下载页。
点击Dependencie链接可以找到3rdParty_Win32binaries,点击SampleDataset可以找到OpenSceneGraph-Data.zip。
二、安装过程:(1)为了统一方面,在E盘新建一个OSG目录,并将源程序包解压到此目录。
将3rdParty图形库的程序也解压到指定目录:比如:E:\OSG\3dParty(注意:文件夹按上图命名,以免错误)(2)打开CMakeSetup.exe,安装之;(2-5)安装之后,打开开始-附件,进入CMake-gui将源程序包中的CmakeList.txt托到界面上来。
点击下方按钮 COnfigure(3)找到一下几处,并将以下几处都置为ONBUILD_MFC_EXAMPLEBUILD_OSG_APPLICATIONSBUILD_OSG_EXAMPLESBUILD_OSG_PLUGINSBUILD_OSG_WRAPPERS(4)再次点击下方按钮 Configure,之后点击Generate生成;CMKE帮我们生成了VS2008需要编译的代码包。
三、编译:(1)找到OpenSceneGraph.sln,(E:\OSG\OpenSceneGraph下),用VS2008打开,使用DEBUG或者Release编译整个解决方案(2)编译完之后,还需要编译INSTALL项目四、配置环境变量打开电脑环境变量配置窗口五、写一个C++程序试试(1)打开VS2008,创建一个WIN32控制台程序。
VS2008完整水晶报表发布部署总结
VS2008水晶报表发布部总结一、安装运行时支撑文件如果你安装了VS2008,那么可以找到如下目录:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5此目录下有如下文件:COPY到服务器上根据服务器CPU情况选择性地安装一下。
二、将WEB项目打包成安装程序1. 在WEB解决方案中新建一个项目,选择项如下:2. 右键点击项目名称,选择“视图”-“文件系统”3. 按下图操作:4. 设置项目的启动文件:5. 在项目名称上右击,按下图操作,选“项目输出”:6. 选“内容文件”后再“确定”:7. 按SHIFT+F6即可生成安装文件,可以在项目的目录下能找到如下结果文件:Copy这个MSI文件到服务器上安装完就可以浏览了。
三、修补水晶报表的图标显示和打印功能问题:如上所述,是可以浏览了,但是报表显示的工具栏上图标出不来:如下:看到吗,小图标出不来。
其它你再试试,打印也没法选打印机的。
解决办法:1. 在自己开发的PC上找到如下目录:C:\WINDOWS\\Framework\v2.0.50727\ClientFiles\CrystalReportWeb FormViewer4注意:CrystalReportWebFormViewer4中的4有可能与你的不一样,无所谓的。
2. 将CrystalReportWebFormViewer4目录复制到你的WEB服务器上项目所在目录中,如:C:\???????\aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer4再试试看吧,问题解决!祝好运!水晶报表安装部署(vs2005,vs2008)1.水晶报表安装程序和汉化包C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalRepo rts2.安装水晶报表运行时支持,打包下面这个目录到需要安装的服务器,然后点击“CRRedist2008_x86.msi” C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_53.将下面几个dll拷贝到/bin下,注意版本号 2005,在这个目录C:\Program Files\Microsoft Visual Studio 8\ReportViewer 2008,在这个目录C:\Program Files\Microsoft Visual Studio 9.0\ReportViewermon.dllmicrosoft.reportviewer.processingobjectmodel.dllmicrosoft. reportviewer.webforms.dll安装一下,然后重启服务器,再访问就OK了从网上找的方法是合并msm什么的,我的程序又不是用msi打包的,所以,不能用,换种方法:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5这里可以看到CRRedist2008_x86.msi及zh-CHS\CRRedist2008_x86_chs.msi只要把这两个安装了,水晶报表就可以使用了,因为网上有人说水晶报表30天会过期,我把日期调到30天后,看了看,正常发布软件时,把以上水晶报表的两个安装文件给打包过去安装就OK了。
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程
Windows 7 64bit +VS2008+ CUDA 4.0安装配置完全过程安装CUDA4.0时,碰到了很多意外,花费了较多时间,最终取得了成功,现对期间的经验教训总结如下,供大家分享,期待提高大家的工作质量和效率。
一 安装环境Windows 7 64bit 家庭版,VS2008(安装了X64编译器),CUDA 4.0 64bit版本;二 安装软件Windows 7 64bit 家庭版是购买笔记本时自带的系统,不再详说。
2.1 安装VS2008安装的professional版本,在安装时选择自定义安装,选择自己需要的组件,如下图1所示(这里借用了别人的一张图片),注意展开Visual C++子树,选中X64组件。
图1 自定义安装VS2008组件安装完毕后,对于如何取消90天试用限制问题,采用了别人的破解办法,具体的操作方法如下:打开 控制面板 Î 添加删除程序, 找到VS2008的安装项,运行VS2008的安装卸载程序,出现如下图2所示界面:图2 VS2008的安装卸载界面下载 破解程序CrackVS2008ForWindows7.zip,然后右键点击该破解程序,选择以管理员身份运行,出现如下的图3所示界面:图3 破解程序界面点击图3右上角 按钮“Bug 微软”,则久违的图4界面出现了:图4 破解后的界面输入相应的序列号,就可以了,以下是收集的序列号:1.Visual Studio 2008 Professional Edition:XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT2.Visual Studio 2008 Team Test Load Agent:WPX3J-BXC3W-BPYWP-PJ8CM-F7M8T3.Visual Studio 2008 Team System:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T4.Visual Studio 2008 Team Foundation Server:WPDW8-M962C-VJX9M-HQB4Q-JVTDM2.2 安装CUDA4.0在nvidia的下载网页上,下载了64bit的开发组件,包括driver、tookit、sdk 等主要组件,具体如下:devdriver_4.0_winvista-win7_64_275.33_notebook.execudatoolkit_4.0.17_win_64.msigpucomputingsdk_4.0.19_win_64.execudatools_4.0.17_win_64.msiCUDA4_0BuildCustomizationFix.zip注意驱动选择台式机或者笔记本版本。
用VS2008 配置WinCE开发环境
WinCE开发环境的配置配置基于Vs2008+C#的手持机WinCE应用程序开发环境主讲:孙志能大纲❝相关软件的安装1、Microsoft ActiveSync设备同步软件2、Microsoft Device Emulator 设备仿真模拟器/设备仿真器管理器❝WinCE应用程序的测试1、在模拟器上的调试方法2、在手机机硬件上的调试方法❝一个简单的Demo❝部署一、相关软件的安装1、安装Microsoft ActiveSync设备同步软件(4.5)软件简介:Microsoft ActiveSync 是基于Windows Mobile 的设备的最新同步软件版本。
ActiveSync 提供了即时可用的与基于Windows的个人计算机和Microsoft Outlook 的良好同步体验。
ActiveSync 可充当基于Windows 的个人计算机与基于Windows Mobile 的设备之间的网关,从而允许您在个人计算机与设备之间传输Outlook 信息、Office 文档、图片、音乐、视频和应用程序。
除了与台式计算机进行同步之外,ActiveSync 还可以直接与Microsoft Exchange Server 2003同步,从而允许您在离开个人计算机时也能通过无线方式获得最新的电子邮件、日历数据、任务和联系人信息。
开始安装:(1)启动MicrosoftActiveSync4.5.msi安装程序(2)安装过程及步骤如下图示:安装第一步安装第二步安装第三步安装第四步安装第五步安装第六步安装完成(重启)安装完成后,任务栏出现图标双击图标出现的软件界面2、安装Microsoft Device Emulator 设备仿真模拟器/设备仿真器管理器软件简介:Microsoft Device Emulator设备仿真器一直是移动应用程序开发中的重要工具。
我们可以在仿真器中测试应用程序,而不需要使用真实的设备,使得开发更加简单和快速,并且费用更少。
Windows Server 2008 安装过程图文详解
一、Windows Server 2008 安装过程图文详解工具/原料•Windows Server 2008 R2安装光盘•足够的硬件配置方法/步骤安装系统之前,请确保硬盘里没有重要的资料!!!首先设置光盘启动,将系统光盘放入光驱,开始激动人心的2008 R2的安装。
第一个界面,如图。
正在装载系统文件……1.2很快,你就可以看到这个了,如图.先选择好你的语言及其他,点击:下一步。
2.3这个才是真正的开始安装,呵呵,点击:现在安装。
如图。
3. 4到了这里,请选择你要安装的版本,我当然是要安装完整版的企业版啦。
如图。
4.5打勾:接受,再下一步。
如图.5.6安装方式的选择,这个根据你的需要,如果你是从低版本升级到2008的话,你就点击升级吧,其他的当然是自定义啦,如图.因为我的是新装,硬盘上无任何数据呢。
安装之前,得先分区,这个大家都懂的了,如图。
所以,我们点击:驱动器选项。
6.8然后点击:新建,如图。
7.9一般来说,2008的系统占用空间约为20G 左右,但实际安装建议50G以上,如图。
8.10提示:要为系统文件创建额外的分区,这是必须的,点确定吧,如图。
9.吧11然后会返回上一层,这时,硬盘还有空间,我们先把他分成另一个区.先占击未分配的空间,再新建。
如图.10.12分完区后,会返回上一层,这时,大家要小心看清楚,因为我们要安装系统到“C盘”,我们必须这个分区,如图.错了你就得重新安装系统了,好累的。
开始安装了,安装是一个漫长的过程……这个过程如图。
.大约要半小时多.可能反复重启几次终于完成安装了,然后会自动重启……如图。
11.15看到这,有点激活了,如图。
当然还是要设置一个密码。
点击:确定。
12.16设置密码是有些要求的:有长度要求(4个以上字符)、复杂性(要有大小写及数字)要求及历史要求.设置好了,点击:右箭头,如图。
会提示:密码成功修改,请保管你的密码哦。
13.18第一次进入桌面,会先准备好用户信息配置等等,请稍后,如图.到此,系统正式安装完成了,快来尝试新功能吧。
OSG在VS2008下的配置安装心得
在XP(32位)安装OSG2.8.2。
安装心得如下:一、准备安装资料包括程序(请到官方网站都可以下载)1. OpenSceneGraph-2.8.2.zip (源程序包)2. cmake-2.8.3-win32-x86.zip (安装源代码需要的工具)3. OpenSceneGraph-Data-2.8.0.zip (数据文件包)4. 3rdParty_VC9sp1_x86_x64.7z (第三方插件库:WINDOWS支持的图形库)(问题:详细作用)(rdParty只是一个统称,通常指的是某个软件所依赖的所有其它软件的集合。
例如,界面图形接口库Qt依赖于libjpeg,libmng,libpng,freetype等多种第三方库,以实现各种图形和字体格式的支持。
由于这些第三方库的存在,Qt不需要再额外编写和测试图形文件读写的代码,并且相应的功能可以随着这些第三方库的更新而更新,十分方便且稳定。
而OpenSceneGraph的第三方库主要用于实现各种模型、图形、字体文件的读写,如果需要某种格式的支持,请首先下载相应的第三方库(例如ttf格式对应freetype,hdr格式对应OpenEXR等)源代码,使用您自己的编译器生成第三方库的链接文件(DLL,LIB等),再编译OSG的对应插件;有些第三方库也会直接提供编译好的链接库文件,可以直接使用。
)友情提示:其中1、3、4可在下载,2可在/cmake/resources/software.html或/files下载,注意在下载过程中与自己使用的VC版本相对应,比如VS2008的为VC9。
二、安装过程:1. 为了统一方面,在D盘新建一个OSG目录(根据自己的情况放置),并将源程序包解压到此目录。
将各压缩包程序也解压到指定目录:D:\OSG\OpenSceneGraph (放置OSG库文件)D:\OSG\3dParty (放置图形库)D:\OSG\Data (放置演示等例子和数据)2. 用CMake生成Project & Solution files。
VS2008打包.NET Framework独立安装
用VS2008打包应用程序为安装文件,同时将.NET Frame work打包进去,可独立安装运行前几天给人做了个小项目,需要打包为setup.exe文件,这就用到了VS自带的安装部署功能(ckickonce)。
由于我用的是.net3.5SP1,所以打包的时候要把.net3.5SP1完整的安装文件加进来。
下面是如何打包的步骤:1新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。
2安装向导关闭后打开安装向导,点击下一步,或者直接点击完成。
3开始制作在新建的setup工程下右击,选择Add->Project Output,在弹出的对话框中,在Project栏下选择主工程,点击Ok即可了,这样工程就会自动添加应用程序所需的dll等然后进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来。
这时只需把前面未添加进来的文件如图片等添加进来就可以了。
然后右击你的文件,创建快捷方式,然后把快捷方式分别复制或剪切到左边的"用户的'程序'菜单"和"用户桌面"中。
这样安装程序安装完成后会在"开始->所有程序"和"桌面"上生成程序的快捷方式。
也可以直接在"用户的'程序'菜单"和"用户桌面"相应目录下新建快捷方式,然后定位到你的文件。
然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"DefaultLocation"的路径中的"[Manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"C:\Program Files\你的用户名\安装解决方案名称";然后打开解决方案管理器,右击你的解决方案名称,选择属性:打开的属性页中,选择"系统必备",在打开的系统必备页中,在"指定系统必备安装组件的位置"中选中如下选择项:从与我的应用程序相同的位置下载系统必备组件。
vs2008工程配置参数
也许你已经习惯了VS默认的工程文件保存路径,但有些人希望工程的源文件和生成文件能按照自己的安排对号入座,方便管理。
例如希望把所有的*.h文件放入include文件夹,.cpp文件放入source文件夹,.lib文件放入lib文件夹,把大量的中间文件丢进TEMP等等。
下面是一个动态链接库的配置:VS2008+SP1首先解决方案配置设置4个(当然这个根据你自己需求,如果库没有用到TCHAR之类的宏,那么一般定义Debug和Release就OK拉。
)DebugReleaseUnicode_DebugUnicode_Release四个配置的公共设置是配置属性->常规->输出目录:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)\配置属性->常规->中间目录:$(SolutionDir)Temp\Compile\$(ProjectName)\$(ConfigurationName)\当编译时候以上文件目录会自动生成。
配置属性->常规->配置类型:这个当然都必须选择一样的啦,这里的示例为动态链接库(.dll)配置属性->连接器->高级->导入库:$(TargetDir)$(TargetName).lib配置属性->生成事件->生成后事件->命令行:copy $(TargetPath) $(ProjectDir)Bin\;copy $(TargetDir)$(TargetName).lib $(ProjectDir)Bin\;copy $(ProjectDir)include\I$(ProjectName).h $(ProjectDir)Bin\;Bin文件夹得自己生成哦。
I$(ProjectName).h这个是接口的头文件了,方便C++调用哈。
如果有def文件,配置属性->连接器->输入->模块定义文件:source/mc_log.def注意def文件中千万别定义LIBRARY,否则所有的lib文件都将导入该定义名的dll文件,会出现几个媳妇抢老公的场面。
微软 Visual Studio 2008基础教程
微软 Visual Studio 2008基础教程Visual Studio2008发布后,有大量的爱好者抛弃原来的Visual Studio2005平台转向现在流行的Visual Studio2008平台。
但是Visual Studio2008有一个缺点就是需要比较高的硬件配置才能正常平稳的运行,所以到现在为止还有一部分人处于观望中,并没有转向这个平台。
然而Visual Studio2008的一些新的功能以及优化性比先前版本有了很大的进步。
本篇文章将主要介绍怎样利用去编写一个计算器程序,程序虽然不复杂,但是其中所运用的知识和代码非常具有代表性,在平时开发中也是经常需要用到的。
希望对2008的初学者带来帮助。
打开 Visual Studio 2008。
在文件 (File) 菜单上,单击新建项目 (New Project)。
在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序(Windows Application)。
单击确定 (OK)。
在Form1窗体中添加一个TextBox1控件和19个Button按钮,详细属性设置请查看以下的表格。
详细的界面请查看图1图1好了基本的界面已经设计好了,接下来我们来添加相应的代码了,首先进行必要的声明事件。
Public Class Form1Dim strdx() As String = {"0", "0", "0"} '声明一个字符串,用以存取数值Dim calcount1 As String = "0"Dim calcount2 As String = "0"Dim strvalue As Boolean = False然后需要进入Button1.Click事件中.代码如下Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickIf strdx(0) = "0"ThenTextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "0"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "0"TextBox1.Text = strdx(0)End IfEnd Sub进入Button2.Click事件中.代码如下Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Clickstrvalue = Truestrdx(0) = strdx(0) & "."TextBox1.Text = strdx(0)End Sub进入Button3.Click事件中.代码如下Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Clickstrdx(0) = "0"strdx(1) = "0"strdx(2) = "0"calcount1 = "0"calcount2 = "0"strvalue = FalseTextBox1.Text = "0."End Sub进入Button5.Click事件中.代码如下Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.ClickIf strdx(2) = "0"ThenSelect Case calcount1Case"+"TextBox1.Text = Str(Val(strdx(1)) + Val(strdx(0))) Case"-"TextBox1.Text = Str(Val(strdx(1)) - Val(strdx(0))) Case"*"TextBox1.Text = Str(Val(strdx(1)) * Val(strdx(0))) Case"/"If strdx(0) = "0"ThenTextBox1.Text = "error!"ElseTextBox1.Text = Str(Val(strdx(1)) /Val(strdx(0)))End IfEnd SelectElseIf calcount2 = "*"Thenstrdx(0) = Str(Val(strdx(0)) * Val(strdx(2)))Select Case calcount1Case"+"TextBox1.Text = Str(Val(strdx(1)) + Val(strdx(0))) Case"-"TextBox1.Text = Str(Val(strdx(1)) - Val(strdx(0))) Case"*"TextBox1.Text = Str(Val(strdx(1)) * Val(strdx(0)))Case"/"If strdx(0) = "0"ThenTextBox1.Text = "error!"ElseTextBox1.Text = Str(Val(strdx(1)) /Val(strdx(0)))End IfEnd SelectElse : calcount2 = "/"strdx(0) = Str(Val(strdx(2)) / Val(strdx(0)))Select Case calcount1Case"+"TextBox1.Text = Str(Val(strdx(1)) + Val(strdx(0))) Case"-"TextBox1.Text = Str(Val(strdx(1)) - Val(strdx(0))) Case"*"TextBox1.Text = Str(Val(strdx(1)) * Val(strdx(0))) Case"/"If strdx(0) = "0"ThenTextBox1.Text = "error!"ElseTextBox1.Text = Str(Val(strdx(1)) /Val(strdx(0)))End IfEnd SelectEnd IfEnd Sub进入Button6.Click事件中.代码如下Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.ClickIf strdx(0) = "0"Thenstrdx(0) = "1"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "1"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "1"TextBox1.Text = strdx(0)End IfEnd Sub进入Button7.Click事件中.代码如下Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.ClickIf strdx(0) = "0"Thenstrdx(0) = "2"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "2"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "2"TextBox1.Text = strdx(0)End IfEnd Sub进入Button8.Click事件中.代码如下Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.ClickIf strdx(0) = "0"Thenstrdx(0) = "3"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "3"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "3"TextBox1.Text = strdx(0)End IfEnd Sub进入Button9.Click事件中.代码如下Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.ClickIf calcount1 = "0"Thencalcount1 = "+"strdx(1) = strdx(0)strdx(0) = "0"Else : Select Case calcount1Case"+"strdx(1) = Str(Val(strdx(0)) + Val(strdx(1))) strdx(0) = "0"calcount1 = "+"Case"-"strdx(1) = Str(Val(strdx(1)) - Val(strdx(0))) strdx(0) = "0"calcount1 = "+"Case"*"strdx(1) = Str(Val(strdx(0)) * Val(strdx(1))) strdx(0) = "0"calcount1 = "+"Case"/"strdx(1) = Str(Val(strdx(1)) / Val(strdx(0))) strdx(0) = "0"calcount1 = "+"End SelectEnd IfEnd Sub进入Button10.Click事件中.代码如下Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.ClickIf calcount1 = "0"Thencalcount1 = "-"strdx(1) = strdx(0)strdx(0) = "0"Else : Select Case calcount1Case"+"strdx(1) = Str(Val(strdx(0)) + Val(strdx(1))) strdx(0) = "0"calcount1 = "-"Case"-"strdx(1) = Str(Val(strdx(1)) - Val(strdx(0))) strdx(0) = "0"calcount1 = "-"Case"*"strdx(1) = Str(Val(strdx(0)) * Val(strdx(1))) strdx(0) = "0"calcount1 = "-"Case"/"strdx(1) = Str(Val(strdx(1)) / Val(strdx(0))) strdx(0) = "0"calcount1 = "-"End SelectEnd IfEnd Sub进入Button11.Click事件中.代码如下Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.ClickIf strdx(0) = "0"Thenstrdx(0) = "4"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "4"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "4"TextBox1.Text = strdx(0)End IfEnd Sub进入Button12.Click事件中.代码如下Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.ClickIf strdx(0) = "0"Thenstrdx(0) = "5"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "5"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "5"TextBox1.Text = strdx(0)End IfEnd Sub进入Button13.Click事件中.代码如下Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.ClickIf strdx(0) = "0"Thenstrdx(0) = "6"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "6"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "6"TextBox1.Text = strdx(0)End IfEnd Sub进入Button14.Click事件中.代码如下Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.ClickIf calcount1 = "0"Thencalcount1 = "*"strdx(1) = strdx(0)strdx(0) = "0"Else : Select Case calcount1Case"+"calcount2 = "*"strdx(2) = strdx(0)strdx(0) = "0"Case"-"calcount2 = "*"strdx(2) = strdx(0)strdx(0) = "0"Case"*"strdx(1) = Str(Val(strdx(0)) * Val(strdx(1)))strdx(0) = "0"calcount1 = "*"Case"/"strdx(1) = Str(Val(strdx(1)) / Val(strdx(0)))strdx(0) = "0"calcount1 = "*"End SelectEnd IfEnd Sub进入Button15.Click事件中.代码如下Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.ClickIf calcount1 = "0"Thencalcount1 = "/"strdx(1) = strdx(0)strdx(0) = "0"Else : Select Case calcount1Case"+"calcount2 = "/"strdx(2) = strdx(0)strdx(0) = "0"Case"-"calcount2 = "/"strdx(2) = strdx(0)strdx(0) = "0"Case"*"strdx(1) = Str(Val(strdx(0)) * Val(strdx(1))) strdx(0) = "0"calcount1 = "/"Case"/"strdx(1) = Str(Val(strdx(1)) / Val(strdx(0))) strdx(0) = "0"calcount1 = "/"End SelectEnd IfEnd Sub进入Button16.Click事件中.代码如下Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.ClickIf strdx(0) = "0"Thenstrdx(0) = "7"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "7"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "7"TextBox1.Text = strdx(0)End IfEnd Sub进入Button17.Click事件中.代码如下Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.ClickIf strdx(0) = "0"Thenstrdx(0) = "8"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "8"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "8"TextBox1.Text = strdx(0)End IfEnd Sub进入Button18.Click事件中.代码如下Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.ClickIf strdx(0) = "0"Thenstrdx(0) = "9"TextBox1.Text = strdx(0) & "."ElseIf strvalue = False Thenstrdx(0) = strdx(0) & "9"TextBox1.Text = strdx(0) & "."Elsestrdx(0) = strdx(0) & "9"TextBox1.Text = strdx(0)End IfEnd Sub进入Button19.Click事件中.代码如下Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.ClickTextBox1.Text = "0."End Sub进入Button20.Click事件中.代码如下Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.ClickMe.Close()End Sub最后的代码如图2:图2程序代码输入完成,接下来我们来运行一下程序,进行测试。
VS2008+Window Mobile6.0开发环境的搭建
WINCE开发环境搭建(1)VS2008的安装,可以到M$下载ISO文件,但是90天试用版,改正式版的方法比较简单,将ISO\Setup\setup.sdb文件中[Product Key]项的值改为正版的序列号就可以了,改完后用虚拟光驱加载进行安装。
下载地址:/downloads/details.aspx?FamilyId=83C3A1EC-ED7 2-4A79-8961-25635DB0192B&displaylang=zh-cn(2)ActiveSync v4.5 Simplified Chinese Setup.msi的安装,此项安装完毕后也会重启电脑,ActiveSync也会随着启动至图标栏。
下载地址:/downloads/details.aspx?familyid=CABDB564-AE9 4-4C02-ABBC-CDECE61231D4&displaylang=zh-cn(3)Windows Mobile 6 Professional SDK Refresh.msi的安装,如果非触摸屏的则安装Windows Mobile 6 Standard SDK Refresh.msi。
下载地址:/downloads/info.aspx?na=46&p=1&SrcDisplayLang =en&SrcCategoryId=&SrcFamilyId=06111a3a-a651-4745-88ef-3d48091a390b&u =http%3a%2f%%2fdownload%2ff%2f2%2f3%2ff232f773-7edc-4300-be07-d3b76a5b3a91%2fWindows+Mobile+6+Professional+SDK+Ref resh.msi下载地址:/download/f/2/3/f232f773-7edc-4300-be07-d3b76a5b3a91/Windows%20Mobile%206%20Standard%20SDK%20Refresh.msi(4)Windows Mobile 6 Professional Images (CHS).msi的安装。
在VS2008中使用Qt编程
windows vs2008 安装编译 QT准备工作:1.VS20082.qt-vs-addin-1.1.8.exe(其他版本也可)3.qt-win-opensource-4.7.2-vs2008.exe安装过程:1.安装VS2008(可以选择默认路径)2.安装qt-win-opensource-4.7.2-vs2008.exe(我选择路径:D:\Qt\4.7.2)3.安装qt-vs-addin-1.1.8.exe(不需要考虑QT,可以选择默认路径)4.配置QT环境变量,控制面板->系统->高级->环境变量,在“系统变量”这个组合框中,找到“Path”变量,在"Path"的最后面添加"D:\Qt\4.7.2\bin\"5.开始 -> 程序 -> Microsoft Visual Studio 2008 -> Visual Studio Tools ->Visual Studio 2008 命令提示6.在命令行中键入:d: 回车cd D:\Qt\4.7.2 回车configure -platform win32-msvc2008 -debug-and-releasenmake7.配置qt-vs-addin,把D:\Qt\4.7.2下的.qmake.cache和configure.cache这两个文件手动备份到另一个地方。
然后输入指令:nmake confclean 指令完成后将会减少一些不再需要的文件。
这个时候再把刚备份的.qmake.cache和configure.cache拷回原处。
这时候最好把编译后的一堆东西打个包备个份,免得下次又要编译几个小时。
8.打开VS2008,菜单栏会多出一个Qt选项,选择Qt选项下的Qt Options,在Qt Versions中添加路径,点击Add,选择路径D:\Qt\4.7.2,OK。
VS2008打包程序流程
VS2008打包安装程序步骤1、打开VS2008,依次选择:文件-项目-其他项目类型-安装和部署-安装向导2、依次点击确定-下一步-完成。
进入如下界面3、鼠标单击应用程序文件夹,到右边空白区域依次点击鼠标右键-添加-文件,如图所示4、打开文件后选择你编写的程序在Release下所生成的exe文件和运行该文件所需要的类库文件以及其他的一些文件后点击打开,操作结果如下图所示,并将应用程序文件夹中defaultLocation中的[Manufacturer]删掉,注意中括号也一并删除。
同时将[ProductName]换成exe程序的文件名改完后形式如:[ProgramFilesFolder]\MandarinTest5、生成exe文件快捷方式并分别剪切至“用户的“程序”菜单”和“用户桌面”右边的空白区域内,结果如图所示:6、将程序的图标文件复制到该项目目录下并将该图标加入到应用程序文件夹中,如图所示7、点击用户的“程序”菜单,并右键单击exe文件的快捷方式选择属性窗口,将程序的图标加入到属性窗口中的Icon中,操作步骤如图所示:同理操作用户桌面中的exe快捷方式的图标8、右键单击工程名打开属性对话框选择系统必备,操作结果如图所示勾选如图所示选项并确定此时就可以单击生成解决方案就可以生成安装程序包了。
但是此时生成的程序包中没有卸载功能9、在应用程序项目中添加msiexec.exe,msiexec.exe这个文件在c:\windows\system32文件夹下。
添加进去后将其名字改为卸载,并生成一个快捷方式剪切到用户的“程序”菜单中,操作结果如图所示。
然后鼠标左键单击项目名查看该项目的ProductCode,然后单击用户的“程序”菜单中卸载.exe快捷方式在其Arguments中填写/x ProduceCode即/x {E845C20B-A837-41C5-A744-A1CAAEC23486}。
如图所示。
VS2008软件打包流程
工程打包说明1、打包工程建立打开microsoft visual studio 2008,新建项目出现如下图1所示窗口,在项目类型栏中选择“安装和部署”,填入姓名和工程路径,这样工程就创建完成。
图1 创建工程2工程文件添加工程创建完成后出现如下图2所示界面,包括应用程序文件夹、用户的“程序”菜单和用户桌面:其中应用程序文件夹中放的是需要打包的工程包括的内容,安装完成后该路径下就包含所有放入的文件和文件夹;用户的“程序”菜单是开始中显示的快捷方式;用户桌面是桌面上摆放的快捷方式。
图2 工程文件添加2.1应用程序文件夹选中文件夹右键单击弹出快捷菜单选择添加,可以选择添加文件夹或者文件。
2.2用户的“程序”菜单将需要打包的工程生成的exe文件创建快捷方式添加进来,点击右键查看该文件的属性,在ICON中添加应用程序的图标。
如下图所示:2.3用户桌面的该内容的操作和用户的“程序”菜单的操作方式相同。
3软件生成打开“解决方案管理器”,点击右键生成解决方案,如下图所示如果出现错误,那么根据错误列表中错误指示修改工程,修改完成后重新生成解决方案。
4 腾飞调试环境打包文件的生成4.1 IDE setup的生成首先在应用程序文件夹添加所要打包的工程的exe文件,添加“工程路径\C66xEnv\C66xIDE\bin\Debug”路径下的C66xIDE.exe和C66xFRAccessor.exe,这时visual studio 会检测相关项并且自动添加。
然后,按照下图形式添加文件夹。
defaultLD—给用户提供的基础bin文件SysLoadPath—加载时生成的bin文件,自动放到该路径下Tool—out文件和rmd文件存放路径VPPA—性能分析工程相关文件4.2 DSP setup按照下图添加文件夹。
Documents—添加“程序用户手册”和“函数用户手册”Example—例程c文件,包括性能剖析例程,hello_world.c Srio 例程。
VS2008下CGAL安装步骤及注意点
CGAL安装详细步骤及注意点参考网站http://acg.cs.tau.ac.il/cgal-at-tau/installing-cgal-and-related-programs-on-windows注意:●安装过程中必须保证网络连通●安装前确保有足够的安装空间,最好将CGAL安装到系统盘之外的空间大的盘符里,因为编译CGAL之后所占空间超过10G(还没有验证)。
软件下载1、Visual Studio 2008 Express官方下载: /?linkid=9350817(注意:VS2010当前不支持Qt)2、Boost1.46.1:/download/boost_1_46_1_setup.exe (Nooffline installer)3、CMake 2.8.4: /files/v2.8/cmake-2.8.4-win32-x86.exe4、CGAL 3.7 (using this link means that you agree to the license terms) -https://gforge.inria.fr/frs/download.php/28508/CGAL-3.7-Setup.exe5、QT:去QT官方网站/downloads-cn下载2个软件。
下载安装VS2008编译过的QT库4.7:qt-win-opensource-4.7.0-vs2008.exe下载安装VS2008的QT集成插件:qt-vs-addin-1.1.7.exe安装1、Boost(在线安装)注意:不需要安装所有boost包,可以把以下的这些丢掉:* Start Menu Shortcuts* Source and Documentation* Boost signals* Boost test* Boost test (unit test framework) * Boost wave2、Cmake3、Qt只要保证在线安装,按照安装程序给的提示一步步安装,应该没什么问题安装完成后:1) 添加系统路径,值为<Qt>\bin,<Qt>表示安装Qt的路径,我的电脑上是C:\Qt\4.7.4\bin2) 添加环境变量QTDIR,值为C:\Qt\4.7.44、CGAL最后,在system PA TH中添加路径<CGAL>\auxiliary\gmp\lib(我添加的路径是:D\CGAL-3.7\ auxiliary\gmp\lib)安装完成后对CGAL进行编译,生成工程打开Cmake(cmake-gui)(if you are using win7 make sure you open the program in administrator mode - right click on the icon and click on "run as administrator")步骤一:在CMAKE的界面中输入源码路径(Where is the source code)和目标路径(where to build the binaries)。
Vs2008打包安装程序
1、怎么使得程序窗口左上角和任务栏有图标,如下图所示:其实这个问题不应该放到程序打包这部分讲,只不过对于一些初学者而言,在这提下也许会有很大的帮助(想到自己刚学.net那会了,呵呵)。
方法之一的话就是先添加一个图标文件到项目中,然后切换到每个界面设计器,右键窗体的属性,在属性窗口有个Icon选项,下面的也就不用多说了吧~2、先新建一个空的解决方法,File->New->Project->Other Project Types->Visual Studio Solution->Blank Solution,这儿取个名称SetupDemo:如图:3、在解决方案中添加个项目工程,右键上图中的解决方案,点击Add->New Project,选中Windows Form Application模板,输入SetupForm,结果如下:4、给项目添加些基本信息:在上图中,右键SetupForm后单击Property或者直接双击上图中的Properties,会出现下图左侧很多选项卡,所以可以更改的东西很多,大家可以视需要而定制,这没必要赘述。
大家可以点击上图中的Assembly Information 按钮,添加项目出品公司信息,如下图所示:5、本来这应该讲添加安装部署项目了,但是对于在Windows7上开发的朋友们,还需要加上额外的一部,那就是关于程序安装后的权限问题。
大家知道,从Vista开始Windows操作系统便加入了UAC机制,所以问题就出现了:如果我们制作的程序被安装到了系统盘了会怎样?有心的会发现,当程序进行一些诸如IO操作的时候,这些都会被操作系统要求以管理员权限运行,否则所有的操作会被系统拒绝。
如果直接进入安装部署项目的操作的话,这样打包出来的安装包即便你以管理员权限运行安装了。
但是,出现在桌面上的图标快捷键右键时候却没有“以管理员权限运行这一选项”,除非你直接切换到安装目录,右键exe文件以管理员权限启动~解决方法是,右键SetupForm项目,添加一个应用程序描述文件,如下图:直接点击添加即可,这时候打开文件会出现以下内容:想必不用多说了吧,把level="asInvoker" 按调用者权限改成level="requireAdministrator"管理员权限就OK啦。
C# vs2008 创建Windows服务程序,打包成安装文件
C# vs2008 创建Windows服务程序,打包成安装文件c# 开发windows服务程序。
一个简单的服务程序示例。
归纳了几点。
有不足之处,请赐教。
一、创建服务程序1. 菜单栏“文件”--->“新建”--->“项目”,在项目类型中选择“windows”,模板中--->“windows 服务”。
项目名称任意起。
新项目中会创建 Program.cs, Service1.cs及其他的文件或文件夹2. 编写程序略。
二、添加服务应用程序1. 在解决方案中,打开要向其中添加安装组件的服务的Design视图。
(双击Service1.cs 即可)2. 在任意位置,单击右键,在属性窗口中,单击添加安装程序这时项目中就添加了一个新类ProjectInstaller;两个安装组件ServiceProcessInstaller和ServiceInstaller,并且服务的属性值被复制到组件。
修改ServiceInstaller的StartType属性设置为适当的值。
属性值说明Manual:服务安装后,必须手动启动。
Automatic :每次计算机重新启动时,服务都会自动启动。
Disabled:服务无法启动。
修改serviceProcessInstaller类的Account属性改为LocalSystem。
这样,不论是以哪个用户登录的系统,服务总会启动。
三、打包程序,创建服务安装项目1. 菜单栏“文件”--->“添加”--->“新建项目”2. 点击“项目类型”--->“其他项目类型”--->“安装和部署”,再在“模板”点击“安装项目”,点击“确定”.这样在解决方案中会新添加安装项目3. 在“文件系统”中点击“应用程序文件夹”,右边框变空白,在右侧空白处右击鼠标,“添加”--->点击“项目输出”,出现一个对话框,点击“确定”4. (可选)再右击鼠标,“添加”--->点击“文件”,选择文件夹中的“bin”文件中的“Debug”文件中的“.exe”,把“.exe”打开。
C#安装包制作图解
C#安装包制作软件平台:VisualStudio2008中文版,其他版本可能不太相同,但是大致上差不多。
制作步骤:1.新建安装部署项目打开VS,菜单栏选择“新建”,选择: 项目->其他项目类型->安装与部署->安装项目或者是安装向导(我选择的是安装向导,如果选择安装项目,可直接到第三步),填写相关信息,点击确定。
(详细见图1)图12.安装向导此时打开安装向导,如图2.1所示:点击下一步,如图2.2所示:点击下一步,如图2.3所示,也可点击完成直接结束安装向导。
点击下一步,如图2.4所示,此时也可点击完成。
图2.4 点击完成后,安装向导结束,如图2.5所示。
图2.53.开始制作双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和数据库文件添加进来,导入可执行文件的时候会自动把相应的类库和程序集导入进来。
如图3.1所示:图3.1然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的“用户的‘程序’'菜单”和“用户桌面”中。
这样安装程序安装安装完成后会在“开始->程序”和“桌面”上生成程序的快捷方式。
然后右击左边的“应用程序文件夹”在属性对话框中将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是“c:\programm file\你的用户名\安装解决方案名称”。
然后打开解决方案管理器,右击你的解决方案名称,在弹出菜单中选择属性。
会打开一个窗口,如图 3.2所示:图3.2在打开的属性页中,选择“系统必备”,会打开一个新的窗口,如图3.3所示:选上以后,在生成的安装文件包中包含.netframework组件,(这个选项默认是选中的),选中“从与我的应用程序相同的位置下载系统必备组件”单选项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、新建一个Class Library, 例如Name 为CustomAction. 这个就是一个自定义安装行为的类。
2、添加安装类。
在新建的Library里面添加一个 Installer Class,名字我暂时定为MyInstallerClassDll3、重写基类的函数CommitInstallOnAfterInstallOnAfterRollbackOnAfterUninstallOnBeforeInstallOnBeforeRollbackOnBeforeUninstallOnCommittedOnCommittingRollbackUninstall每个函数对应的是安装过程中的不同时期。
我暂时重写了Commit函数,但是还没有自己的实现。
public override void Commit(System.Collections.IDictionary savedState){mit(savedState);}4、新建一个setup工程,在Other Project Types里面,并且下拉框选中Add to Solution。
我暂时命名为setup. 当然这个前提是你有一个想安装的程序。
或者有你想制作安装程序的编译后的文件。
EN:CN:5、添加源程序文件。
切换Setup工程的视图为File System左键点击Application Folder.这个文件夹就是放源程序文件的。
User’s Desktop是放桌面快捷方式的,User’s Programs Menu是定义开始菜单的。
在右边空白的地方右键选中添加项目输出文件下面下来列表选中你要安装的程序,比如我要安装的是WpfSetup。
按住Ctrl键选中Primary outpu t和 Contetn Files,点击OK键。
这样就把需要安装的程序的编译后的主要文件都添加进来了。
当然也可以手动添加进来如上图选中Add->File然后浏览到你的release或者是debug后的文件夹,然后选中主要文件添加进来。
6、创建快捷方式。
在刚刚添加的Primary output from WpfSetup(Active)上面点击右键,选择创建快捷方式,然后重命名。
把这个重命名的文件用鼠标左键托到User’s Desktop文件夹里面,这样的话就会在桌面上面生成一个快捷方式,然后再自定义开始菜单的结构,安装通常的做法,我们在User’s Programs Menu文件夹里面新建一个文件夹用于放置我们安装卸载以及帮助手册之类的快捷方式。
我定义的文件夹是WPF Sample,快捷方式的添加参照User’s Desktop里面快捷方式的添加。
这样的话安装程序的文件结构已经完成了。
7、设置系统必备属性。
在setup工程上面点击右键选择属性。
点击Prerequisites,在弹出的对话框里面选择如下图所示的选项,一定要选择Download prerequisit es from the same location as my application. 当然你也可以根据你的SDK选择不不同的版本。
如果你选择的是3.5 Sp1。
如果在编译的过程中出现了The install location for prerequisites has not been set to 'co mponent vendor's web site' and the file 'dotNetFx35setup.exe' in item '.Fr amework.3.5.SP1' cannot be located on disk.这样的错误你就需要进行如下操作:(1).打开[Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 文件夹,在x64 操作系统上是 %ProgramFiles(x86)%\Microsoft SDKs\Win dows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1(2).修改Product.xml文件,在<PackageFiles>节点里面添加下列内容,然后保存。
<PackageFile Name="TOOLS\clwireg.exe" /><PackageFile Name="TOOLS\clwireg_x64.exe" /><PackageFile Name="TOOLS\clwireg_ia64.exe" />(3).打开这个网址/fwlink?LinkID=118080,下载dotNetFx35.exe(4).打开命令提示符窗口(DOS窗口),并且进入你下载的dotNetFx35.exe的文件夹(5).执行下面这个命令dotNetFx35.exe /x:。
注意/x后面有个冒号呢。
(6).把解压后的WCU\dotNetFramework里面的文件(如下图)拷贝到上面路径提到的DotNetFx35SP1文件夹下面,如图:拷贝完后的图片:如果还有问题:(1). 在Product.xml找到<PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe" 然后修改PublicKey 的值为: 3082010A028*******A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B 794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B1468 80DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0 DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E 3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D507 4412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B 14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001(2).找到<PackageFile Name="dotNetFX30\XPSEPSC-amd64-en-US.exe" 按照上面的步骤修改。
8、设置安装程序的属性在setup工程上面右键点击选择属性。
如下图。
可以选择需要修改的属性,比如语言,作者和制造商以及安装程序的名字等等。
9、设置安装路径右击左边的"应用程序文件夹"打开属性对话框,如图:将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称";10、Rebuild 这个安装部署工程,然后在debug或者release文件里面找到安装文件,比如我的是W PFSample.msi. 双击就可以运行了。
11、自定义安装界面在setup工程上面点击右键选择用户界面视图打开后如下图,可以看到安装分下面三个部分,Start, Progress, End.我们可以在任意一个部分添加任意一个窗口。
有些窗口需要用户输入参数的,这样的话就需要在后台获得这些参数,这样就需要我们开始建立的CustomAction类了。
12、自定义安装行为,选中一个你添加的对话框,比如我选中的是TextBoxes (A),它有四个输入框我只需要两个所以第三个和第四个的Visible属性都是false. 然后定义第一个和第二个输入框的属性名字,我定义的是NAME和PASSWORD。
切换到Customs Actions视图在Install和Commit文件上面右键添加上面定义的那个Custom Action.当然这个Primary outp ut已经添加到了Application Folder里面了(添加方法参照上文)。
这个也可以就是那个工程的.d ll文件。
选择Install或者Commit文件里面的CustomAction文件,查看属性在CustomActionData属性里面输入参数名称和值例如/name=[NAME]这个表达式的意思就是定义一个变量名字是name值是前面添加的那个对话框的属性名称并用[]括起来。
这样就可以在自定义安装类里面得到了。
方法如下:string name = this.Context.Parameters["name"].ToString();string pass = this.Context.Parameters["password"].ToString();这样就得到了输入框的值。
然后在进行一些逻辑操作。
也可以抛出一个异常来终止安装过程,并回滚。
throw new Exception("Invalidate name");回滚和卸载的程序我们也可以自定义,道理都是一样的。
13、实现卸载找到msiexec.exe这个文件,通常在C:\WINDOWS下面添加到Application Folder里面修改名字为Uninstall.exe(也可以不修改)。
创建快捷方式,移到User’s Programs Menu下面的自定义的那个文件夹下面如WPFSample文件下面然后打开属性窗口,设置Arguments值为 /x ProductCode这个ProductCode值在Setup工程的属性页可以看到这样就完成了卸载程序了。