资源描述
这是我在网上搜到的,加以自己的理解和对一些不明白的地方做了一些更新说明。1、在 vs2010 选择“新建项目”- “其他项目类型” - “ Visual Studio Installer” -“安装项目”:摄近的槿板.NET Framewoirk 4排序般:Web宰叢呗EVisual C+ +其他垢言其逝目类型InstallShield LEVisual Studio解吴方秦合井模块项巨宝装向导CA昌项目Visual Studio Installer扩晟性命名为:Setupl,选择好位置后点确定。这时在VS2010中将有三个文件夹,如图:文彳牛粟统Setupl层 目标计算和上的文件荻 口旅:畑 口用户的徒序菜单 口用户卓面a. “应用程序文件夹”:表示要安装的应用程序需要添加的文件;b. “用户的程序菜单”:表示应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载 程序.exe ;c. “用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。2、 应用程序文件夹中点右键,添加文件:表示添加要打包的文件;卜文件夹迟创建应用程序文件夹的快捷方式项目拔出凹”.剪切Ctrl+X粘贴凹Ctrl+V程序集回X删陰Del2T雇曲口陋Alt-l-Enter窖称口用户的程 l3用户臺面文料=窠统Setupl x县目标计算机h的文件粟统添加的文件一般是已经编译过应用程序的debug目录下的文件(主要为.exe文件, 其他文件可选);CheckCard.pdb mwrf32.dll如果有所需要的动态库也加载进来:CheckCardDlg.h选.mwrf32.dll,mwrf32.h幽 mwrf32.lib如果还要添加子文件夹 则需要“添加文件夹”Setupl x |園目标计算机h的交件票统名称日严1 1 -严 J口用户的T勵匸囲 |文件夹旧l3用户箕面创建应用程序文件夹的快捷方式口项目嚴出(円.”剪切Ctrl+X文件(1)“.粘贴(円Ctrl+V1徒序集血“III然后把对应的子文件里的内容添加到此文件夹中;把需要创建程序快捷方式的图标也添加进来(在res文件夹下),后缀名为:ico| vs2010 卜 CheckCard 卜匚heckCard 卜 res容称日期)IHex岛 CheckCard.ico霉 Checlcard.rc22009-08-31 2:31 2012-06-13 13:54Card3、在创建的项目名称(Setupl)上点击右键 属性,选择系统必备:依赖,如图:则选择所需的.NET的版本和Windows从组甘供应商的网站上下裁至统必育组件回从与我的应用程序柜同的位置下载裁必薈组件桶音Mibeoft UiodaW比获取更家可再发行组件指走票统必昔组样的宝装位置从下位冒下翳统必薈组件(A):如果在项目名称(Setupl)的“检测到的依赖项”里检测到所添加的程序文件有.NET蘇方齟器斗xQ解沃方塞附叩2 (1个项目)丿遢Setup2丿臼检测到的故赖项Microsoft .NET FramesInstaller3.1 (可选项),如果没有则不用选。选择:“从与我应用程序相同的位置下载系统必备组件” ,这样安装包就会打包 .NETFrameWork,在安装时不会从网上下载.NET Framework组件;但是安装包会比较大。団创建用于宝装垂统必育组件的宝装程序请i曙要宝装的至统必昔组件凹):已割 NET Framework 3.5 SP1 Client ProfileSMicrosoft .NET Framework 4 (x36 和 x64I I Microsoft .NET Framework 4 Client Profile xB6 和 x64 客 Microsoft Office 2007 Primary Interop Assemblies ll Microsoft Visual Easic PowerPacks 10.0 ll Microsoft Visual F# Runtime for .NET 2.0 ZlMicrosoft Visual F# Runtime for .NET 4.0同MigMl在创建安装程序时,需要设置启动条件(如果有.NET依赖):在项目名称(setup1)上,点击右键选择“视图” “启动条件”:然后 VS2010 会弹出启动条件视图:在启动条件”的属性中,点击Version选择所需的.NET版本。4、设置安装文件的目录(路径):仓U建的项目名称(setupl)的属性中设置参数如下图:其中Author为作者;Manufacturer为公司名称;ProductName为应用程序的名字; 例如我的设置为:Author:nnrh;Manufacturer:M&W; ProductName :测卡程序。把 InstallAllUsers 设置为 True 。(这样在“控制面板”程序中会显示公司的名称; 在安装时会默认为“任何人”,否则默认为“只有我”)Setupl部署项目雇性Ad d Rem oveProq ra m slcx 无lAuthornnrhDescriptionDetectN ew&rl n stall edVeiTru已|lnstallAll UsersTru已KeywordsLocalizationChinese (Simplified)IManufacturerManufacturerUrlPo&tBuildEven tPr&BuildEventProductCodeJE9975D&C8E-41DC-9434-jroductName测卡雷Rem ovePrevi o u s V 已 rsionFalseRun PostB uild Event成生咸时SearchPathSubjectSupportPhoneSupportUrlTargetPlatformxseTitleSetuplUpgradeCode95DCDD17-C0E S-4&3C-E BOSVersion1.0.0点击应用程序文件夹,在其属性里,如下图:DefaultLocation为默认的安装路径,第一 个(ProgramFilesFolder)为系统主目录(默认 C:Programe),第二个(Manufacturer)为 公司名,第三个(ProductName)为应用程序名称,这样在安装时就会创建两层的文件路 径。需要删除 DefaultLocation 中的: Manufacturer 。删除后只有应用程序的名称(默 认的安装路径为:C:Program Files测卡程序,如果没有删除,则默认的安装路 径为:C:Program FilesM&W测卡程序。5、创建应用程序图标与卸载程序:A. “在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式:名称类型弍 mwrf32.dll文件岂 CheclcCard.ico文件Ch eckCa rd. exe文件圍誑睡屋快捷方式重命名“测试程序”,然后点击右键属性:选择Icon双击进入,点击浏览一应用程序文件夹-选择我们之前添加的“CheckCard.ico”确定后,拖动此快捷方式到“用户桌面”B. 在用户的程序菜单 中添加一个文件夹,命名为:“测试程序”(如果不 添加一个文件夹,安装程序后在开始-程序里会直接显示CheckCard.exe,如果添加 了文件夹,安装程序后在开始-程序里会出现一个测试程序文件夹,在其下面会有CheckCard.exe 程序)然后同样的方式创建 CheckCard.exe 的一个快捷方式命名为测 试程序,选择图标,拖动到“测试程序”文件夹中;启动案件(Setupl文彳牛至统(Setupl) X名称 圍迦试程序目标计算机上的文件粟统O用户的注序菜单 厶测试程序口用户箕面c.创建卸载程序:在“应用程序文件夹”中添加:C: WindowsSystem32Msiexec.exe Windows System32 System$ Projectsrj圭面三匕最近访问的隹置应I库严计算机二本it癱盘(CJ 本地磁盅D:修改日期mi.dll msidcrl30.dll msident.dll msidle.dll msidntld.dllmsiexec.exe佝 msihnd.dll 囤 msiltcfg.dll 淹| msimg32.dll I绻I msimsg.dll 11 msimtf.dllrrr文件名(N):msiexec.exe2012-04-07 19:262009-07-14 9:152009-07-14 9:152009-07-14 9:152009- 07-14 9:072010- 11-2111:24旅展展 旅展 旅展 族程謝展2010 11 21 11:24应用程序2010-11-2111:242009-07-14 9:152009-07-14 9:152009-07-14 9:072009-07-14 9:15族展旅展旅展旗程新理打开Q)右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“测试程序”文件夹中;点击项目名称(Setupl),在属性中找到:ProductCode,复制此ProductCode,粘 贴到“卸载”快捷方式的Arguments属性里,前面加/x空格。注:这里是 ProductCode,而不是 UpgradeCode.扈性 X卸戟女件宝装雇性T=:一-Argume nts/x (E 9 975O&O- 9CSE -41DC- 9434- 2 6D3E 3 9CC9 FC |Descriptio nFolder涎试程序conShow 匚 rndvsdscNormalTargetmsie-xec.e-xeTransitiveFalseWoddng Folder6、 完成以上步骤,就可以生成解决方案了。7、生成解决方案后,在debug文件夹中就是我们需要的安装包(setup.exe),如果在前 面的系统必备里选择了.NET版本,则会.NET版本安装包(DotNetFX40文件夹, 根据版本不同,名称也有所不同),安装包发布时应将整个Debug文件夹发布出去。名称DotNetFX40Wind ows Install er3_l 蛉set up启x已 1# Setupl.msi8、 点击 setup.exe 安装完在开始菜单中有“测试程序”文件夹,里面有我们创建的两个 快捷方式;桌面上也有快捷方式。我们安装后,右键点击桌面的测试程序,选择属性,会发现打开文件位置(本 文用的系统是Win7, XP下为查找目标)是灰色的,不用使用,开始程序里面的 也是如此。如图:这个问题应该是vs打包工程的问题,在vs中好像没找到可以设置的地方,在网 上查了半天,好象只有下面一种解决办法:在网上下载orca工具(msi文件编辑工具)。安装orca后,用orca打开msi安 装包,在左边的Tables列表中找到Shortcut表,在右边记录中找到Directory为 DesktopFolder的记录,修改该记录的Target属性为TARGETDIR应用程序名称.exe (测试过不用后面的.exe也可以)。可以看出 DesktopFolder 为桌面快捷方式,最上面的为开始程序里的快捷方式 将 Target 属性改过后保存即可。安装后打开文件夹位置可用。点击可以打开 CheckCard.exe 所在文件夹。计算机k本地儘盅(C:) Program Files (x86) 测卡程序文件(B 精 SWiy)工具(D帮助(tD组卧 圖打开新建文件夹名称修改日期亚臺面最近访问的位置旨库爲 CheckCard.exeA CheckCard.icomsiexec.exemwrf32.dll2012-07-26 17:13应用程序2012-07-26 17:132010-11-21 11:242012-07-26 17:13圏标程序还有我们点击开始程序里的卸载,可以卸载掉程序,但是点击安装文件夹里的msiexec.exe 会出现以下窗口:Windows Installer安装选项显示选项m e i ex e: ./ Op t i on Op t i Dual F ar am e t erWindows 00 Installer. V 5.0.7601.17514禰宗/plp eet -1packase / i _uduet. msi 安蕤或配蛊产品./ a ::jr a due t.mmi,._管理安装-在网络上安装产品./ i -xu muduet. msi./1 ::.Tk:tlsfurm Li st/ ./ 辽:处布严品-m公布到所有甲户,U公布到当貳:./iitlitletall./x? ::jruduet.mmiFrodiictCudE,卸载吉品- 级面 式囈面面面 与户用-HWI 壘用5- 人 I1- 无圧设 rMsiexec.exe 直接点击是不能卸载程序的,那要是客户要想卸载掉程序,万一点 击了安装程序下的 msiexec.exe 出现上面的情况可能会以为有问题。为了解决这 一问题,我们可以在目标计算机上的文件系统上点右键添加特殊文件夹 用户的 Application Data 文件夹(这里可以自己根据情况添加),把 msiexec.exe 放到此文件夹下(可以更名为 uninstall.exe),然后再创建快捷方式(注:在 msiexec.exe 创建好快捷方式后,不能再移动 msiexec.exe 到别的文件夹里,如果 这样会使快捷方式找不到卸载程序而无法卸载程序)。这样安装后不会在程序的安装文件夹下出现msiexec.exe,会安装在Application Data文件夹里(这是个隐藏 文件夹)。客户卸载程序时只能从开始程序里卸载或是在控件面板的卸载程序里 卸载。(这个我个人的想法,其实也可以不用添加卸载程序,要想卸载程序,可 以在控件面板的卸载程序里卸载)。启动葩牛(Setupl)文料=票统(Setupl)窖称全uninstall.exe11恩目标计算机h的丈件粟统 二龌用户的Application Data文件夹 口用户鬲程序轄口用户臺面下面是英文版VS2010制作中文环境安装包(这是网上搜的,因个人用的汉化版的VS,所以不存在下面的情况,所以没有测试过)自从VS2010发布以来,一直在用英文版本,接下来就说明用英文版本制作中文环境安装 包方法。开发工具:VS 2010 EN开发语言:Visual C#先来看下英文版制作中文环境安装包出现的错误:zy - - -J - - - -Z? Application Folder_3 Users Desktop 丿 Users Programs N1 已nu中文立件夹x安装后合是乱码当创建有中文字符的文件夹或文件名都会出现“波浪线”,安装后就会是乱码,当然,解决这 个问题的方法也很简单,Install 1 AllUsersFalseKeywordsLocalizatio n/Chinese SimplifiedManufacturerCompany NameManufacturerUrl默认按照上图,设置安装包属性Localization为Chi nese (Simplified)。这样虽然可以解决中文字符问题,但如果是要打包.net环境的话(当然,您要是不打包.net 环境这个就不在讨论之内了),如下图选择将.net环境一起打包,当生成安装程序的时候,出现了以下错误,如下图:Error ListarmD 0 MessagesJi 1& 2DescriptionCould not madLch culture zh-CN for item Windows Installer 3.1. Using culture en insdteEd.& 304The install location for prerequisites has not been set to component vendors web site1 and the file 1 DotNetFX40ClientdotNetFx40LP_Client_x86_ Hans.exe in item Microsoft NET Framework 4 Client Profile x86 and x64)匚自门 not be located on disk. See Help for more information“在本地磁盘中没有找到DotNe + FX40Cli entdotNetFx4LiLF_Cli ent_x86_x64zh-H:dTLS. exe文件General failure building bootstrapperUnrecoverable build error根据错误,很明显没有找到中文语言包,但是错误中说的磁盘又指的哪个目录呢?目录是指这里:C:/Program Files/MicrosoftSDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client (我的 VS 装在 C 盘,根据实际情况来定)当然您会想是不是把中文语言包放在目标目录下不就可以吗?暂且不下判断,下载个中文语 言放到目录下试试,Microsoft .Net Framework 4.0 完整版语言包 Microsoft .Net Framework 4.0 客户端版语 言包下载下来之后,将完整版复制到“Packages/DotNetFX40/zh-Ha ns (对应语言环境)将客户端版复制到Packages/DotNetFX40Clie nt/zh-Ha ns1上; v7.0A Bootstrapper Packages DotNetFX40Client zh-HansT| zh-Ha共享剧录新建文件夹A g=律名称修改日期K小餾 dotNetFx40LP_Client_x86_x64zh-Hans.exe2010/10/29 20:212.257 KB蹙| Eula.rtf2010/3/10 21:29RTF1S式6 KB, Paclcage.xml2010/3/19 10:43HTML 舞4 KB重新生成安装包程序。Rebuild All Succeded注:所有需要一起打包的程序放在C:/Program Files/MicrosoftSDKs/Wi ndows/v7.0A/Bootstrapper/Packages计算机 卜 本地?逆盅(C:)卜 Program Files Microsoft SDKs Windows 卜 v7.0A 卜 Bootstrapper Paim打开包含到库中-共享 刻录新韋文科夹名称修改日期诙问的位置D otN etFx3 5CI i entDotNetFX35SPlDotNetFX402010/8/17 22:522010/8/17 22:522010/3/17 22:52込小FilesyMi croioft.Nindowsv7. OABootstrai旨下载CD:) 癱盅E:) 癱盅F:)DotNetFX40ClientFSharpRedist20 FSharpRedist40.Office2007PIARedFstReportViewerSQL Server Compact Edition .SqlExpress.SqlExpress2008VBPowerPacksjh vcredistJA64 vcredist_x64.vcredist_x36* VSTOR40Wi nd ows Install er3_lWi nd ows Install er4_52010/8/17 22:52文件夹2010/3/17 22:56女件夹2010/8/17 22:56文件夹2010/3/17 23:10女件夹2010/8/17 22:52女件夹2010/8/17 23:15文件夹2010/S/17 22:52交阵夹2010/8/17 22:52文件夹2010/3/17 22:53女件夹2010/8/17 22:54文件夹2010/3/17 22:55女件夹2010/8/17 22:56女件夹2010/3/17 23:10女件夹2010/8/17 22:52文怦2010/8/17 22:52文件夹可根据实际安装环境进行配置。
展开阅读全文