欢迎来到天天文库
浏览记录
ID:14277029
大小:1.19 MB
页数:16页
时间:2018-07-27
《实战vs打包图解过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实战VS打包图解过程1,数据组织将工程代码Release下的发在一个地方,将插件(如第三方Dll、Com组件等)放在一个地方、另外将快捷方式所需图标放在一个地方如上图,【系统文件】放置工程Release下的所有生成内容,图片放置两张图片插件放置所需要的依赖Com组件等。2,建立打包工程3,文件资源关联打开【文件系统视图】,其他视图中【注册表】、【自定义操作】可能用机会的靠前些。打开【系统文件】,选中所有内容,直接拖到上图右侧空白区域,添加后如果发现有重复Dll名称的,去掉大写的DLL,修改属性中的Exclude属性为fals
2、e即可或者看属性中的路径,尽量保证采用的是【系统文件】中的路径地址。然后将【插件】和【图片】两个文件夹选中,直接拖放至“文件系统视图”右侧空白区内。如果【插件】中有需要COM注册的,在“文件系统视图”右侧中找到该DLL文件,在属性中找到Register属性,修改为vsdrfCOMSelfReg。4,桌面快捷方式和开始菜单a,在【用户的“程序”菜单】中添加一个文件夹,正确命名,安装后会在【所有程序】中出现。b,在【文件系统视图】中将主程序EXE复制快捷方式(如上图),复制到上面建立的文件夹下,同时复制一份到用户桌面中,两个文件
3、代表了开始菜单和桌面对应项,所以属性统一设置如下:1,设置名称,也就是在开始菜单和桌面中显示的名称。2,设置Description。3,设置Icon。选择“浏览”,在【应用程序文件夹】/【图片】文件夹下找到对应的ICO图片即可。5,卸载该过程应该在6操作后完成,因为卸载的属性依赖于项目的【ProductCode】属性,而该属性在“版本号”修改后会自动改变。请注意。a,首先添加一个msiexec.exe进去,这个文件在c:windowssystem32文件夹下,然后给他创建一个快捷方式,放到"开始-程序"中,修改名称、图标
4、属性,类似4中操作步骤。然后修改【Arguments】属性为【/x【ProductCode】】,其中【ProductCode】在项目属性中可以找到选择后查看属性可以看到【ProductCode】属性6,属性填写(系统必备、版本、产品名称、公司名称)需要注意以下属性:【Author】、【Description】、【Manufacturer】、【ProductName】、【Title】、【Version】等然后选择,查看其属性,主要修改【DefaultLocation】属性为如下形式一般默认会将VS对应的Framework版本作
5、为系统必备,可以在项目属性中查看7,Release模式生成然后在Release模式下生成。生成的名称可以在项目属性中查看修改:8,MSI属性修改(orca)安装Orca工具,打开7中生成的MSI文件。如下图所示,左侧选中【Shortcut】,右侧找到“Directory_”字段下值为【DesktopFolder】的记录,修改【Target】字段的值为[TARGETDIR]主程序名称.exe示例中为[TARGETDIR]TestWindow.exe。这样做主要是避免VS打包后生成的安装包在安装后桌面快捷方式无法查看其文件路径。
6、9,对注册表操作的一个应用A,首先要对项目的属性设置好要注意属性:Manufactuer、ProductName、RemovePreviousVersionsB,注册表视图中添加一个值才、这样在系统安装后就会在注册表对应位置写入值。C,如果对安装过程中有特殊操作编码要求,可以新建一个类库工程,然后新建一个【安装程序类】安装程序类中会有如下事件:可以在对应事件中进行一系列编码操作。比如对注册表的操作等。privatevoidProjectInstaller_AfterInstall(objectsender,InstallEv
7、entArgse){//HKEY_LOCAL_MACHINESOFTWAREPlanning3DSystemRegistryKeysoftware=Registry.LocalMachine.OpenSubKey("SOFTWARE");if(software==null)return;RegistryKeyplanningkey=software.OpenSubKey("Planning3DSystem",true);if(planningkey==null)return;stringpath=planningkey.
8、GetValue("path").ToString();if(string.IsNullOrEmpty(path)){return;}if(!File.Exists(path)){return;}if(path.Contains("ProgramFiles")){path=path.Rep
此文档下载收益归作者所有