通过开发MSBuild ,引发的注册表相关知识
最近在做一个小项目,目的就是只需要点一个按钮,就把web程序发布到指定的服务器中。
基本步骤就是 编译——>打包->复制包到远程服务器->解压缩。
我想重点说一下解压缩,我们可以用winzip32.exe,可以用相关的dll完成压缩功能,再就是可以使用vbs脚本。
代码整理完整后奉上:
在使用vbs脚本的时候发现问题了,在服务器端执行没有问题,但是在我本地调用的时候出现问题了,问题就在于
服务器端可以使用windows自带的压缩和解压缩功能,compressed zip folder.可以在发送到中选择compressed zip folder,
也可以选中文件后使用 全部提取的功能。
这些在我本地的win7系统中都没有,说白了就是我使用不了windows自带的解压缩功能。 于是开始了三天地默默地探索。
首先解决没有发送到 压缩(zipped)文件夹的问题

首先我们进入到C:\Users\XXXXX\AppData\Roaming\Microsoft\Windows\SendTo中,如果存在 "压缩(zipped)文件夹 "是空白的或者是没有这个文件就都是有问题的,
没有的话则要创建一个空文件:压缩(zipped)文件夹.ZFSendToTarget。
然后修改注册表
保存下面的代码到reg文件中,执行
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ZFSENDTOTARGET\OpenWithProgids]
"CLSID\\{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}"=hex(0):
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ZFSENDTOTARGET\UserChoice]
"Progid"="Applications\\zipfldr.dll"
这时如果问题还没有解决,继续往下看,
我在调查的过程中有过一次误操作,在zip文件上右键,打开方式时选择了一个默认应用程序,且选择了始终使用选择的程序打开这种文件,
结果桌面一直在闪,电脑反复试图要打开这个文件,但是一直失败。这时先删除那个文件,当我们再右键一个zip文件时,发现“选择了始终使用选择的程序打开这种文件”已经是灰色的了,
这时就需要进入注册表:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.zip,将下面的分支UserChoice删除掉。
然后就是一个很关键的步骤,我们在修改完注册表的时候有的是立即生效有的却不是,设置重启都未必生效,
需要我们做的就是在进程中结束explorer.exe,然后再新建任务打开explorer.exe。经过上面的步骤后再看发送到选项中是否增加了压缩(zipped)文件夹。
接下来我们再看怎样调出来 全部提取的功能:
我们首先用管理员的身份进入打开命令行,输入下面的命令:assoc .zip = CompressedFolder
用下面代码修改注册表
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CompressedFolder]
@="Compressed (zipped) Folder"
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,7a,00,69,00,70,00,66,00,6c,00,64,00,72,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,31,00,30,00,31,00,39,00,35,00,00,00 [HKEY_CLASSES_ROOT\CompressedFolder\CLSID]
@="{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}" [HKEY_CLASSES_ROOT\CompressedFolder\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,7a,00,69,00,\
70,00,66,00,6c,00,64,00,72,00,2e,00,64,00,6c,00,6c,00,00,00 [HKEY_CLASSES_ROOT\CompressedFolder\shell]
@="none" [HKEY_CLASSES_ROOT\CompressedFolder\shell\find]
"LegacyDisable"=""
"SuppressionPolicy"=dword:00000080 [HKEY_CLASSES_ROOT\CompressedFolder\shell\find\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,2e,00,65,00,78,00,\
65,00,00,00 [HKEY_CLASSES_ROOT\CompressedFolder\shell\find\ddeexec]
@="[FindFolder(\"%l\", %I)]" [HKEY_CLASSES_ROOT\CompressedFolder\shell\find\ddeexec\application]
@="Folders" [HKEY_CLASSES_ROOT\CompressedFolder\shell\find\ddeexec\topic]
@="AppProperties" [HKEY_CLASSES_ROOT\CompressedFolder\shell\Open] [HKEY_CLASSES_ROOT\CompressedFolder\shell\Open\Command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,2e,00,65,00,78,00,\
65,00,20,00,2f,00,69,00,64,00,6c,00,69,00,73,00,74,00,2c,00,25,00,49,00,2c,\
00,25,00,4c,00,00,00
"DelegateExecute"="{11dbb47c-a525-400b-9e80-a54615a090c0}" [HKEY_CLASSES_ROOT\CompressedFolder\ShellEx] [HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\ContextMenuHandlers] [HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\ContextMenuHandlers\{b8cdcb65-b1bf-4b42-9428-1dfdb7ee92af}]
@="Compressed (zipped) Folder Menu" [HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\DropHandler]
@="{ed9d80b9-d157-457b-9192-0e7280313bf0}" [HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\StorageHandler]
@="{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}"
然后再关闭,创建explorer.exe,看看问题解决了没有
通过开发MSBuild ,引发的注册表相关知识的更多相关文章
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
使用Js脚本 修改控制IE的注册表相关设置(activex等) 分类: PHP2012-12-05 18:51 2035人阅读 评论(2) 收藏 举报 脚本写法: <SCRIPT LANGUAG ...
- 安装Mysql的一些问题,比如Net Connect 卸载不掉,注册表相关操作
我安装mysql用了一段时间后卸载了,在安装就发现安装不了了,原因就是卸载的时候Net Connetc无法卸载,我试了一个月也没有解决后来百度各种还是没有办法解决.于是就尝试自己手动卸载注册表.在“开 ...
- [Windows10]记一次修复注册表相关血案:该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,请在“默认应用设置”页面中创建关联。
今天闲得蛋疼清理了一下右键菜单,于是在之后某时刻使用Everything的“双击路径列打开目录”功能时发现异常: [Window Title] Everything.exe [Content] 该文件 ...
- MySQL数据库(二)--库相关操作、表相关操作(1)、存储引擎、数据类型
一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用 ...
- MySQL数据库(二)——库相关操作、表相关操作(一)、存储引擎、数据类型
库相关操作.表相关操作(一).存储引擎.数据类型 一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字 ...
- 12 哈希表相关类——Live555源码阅读(一)基本组件类
12 哈希表相关类--Live555源码阅读(一)基本组件类 这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 ...
- 关于软件开发中兼容win7注册表的解决方案
关于软件开发中兼容win7注册表的解决方案 编写人:CC阿爸 2014-3-14 l 近来在开发一winform程序时,发现在xp 系统访问注册表一切正常.可偏这个时候,微软又提醒大家.Xp今年 ...
- Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能
Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...
- MySQL常用命令(数据库,表相关的命令)
数据库相关命令 显示数据库列表 mysql> SHOW DATABASES; 创建数据库 mysql> CREATE DATABASE 库名; 如下,创建一个名为crashcours ...
随机推荐
- uva 1428
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 使用windows服务和MSMQ和进行日志管理(解决高并发问题)
首先,建立一个windows服务项目 然后进行设计视图 在工作区空白处右属,添加一个安装项目 然后就可以写我们的代码了,我们的服务需要实时监视MSMQ的队列中有没有记录,如果有,就向数据库中插入 核心 ...
- 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?
这次试验的起因是一场内部辩论. “用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?” 我们推测是快4倍. 但是经过测试发现,我们推测错了. 本文记录了试验的规划.过程以及令人惊 ...
- hbase基本概念和hbase shell常用命令用法
1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...
- 关于 IOS 发布的点点滴滴记录(一)
今天又是发布 APP 审核的时候,哎,说来也悲催. 我们产品连这次好像是第四次被苹果公司拒绝了,想想都有点伤感.其实对于里面的内容我到是不是很关心.我关心的是在这过程中我所碰到的奇怪的事情. (这次 ...
- ZOJ 3329 - One Person Game
题意:每次筛三个骰子面分别为k1,k2,k3,如果三个骰子的值分别为a,b,c则得分置0,否则得到分数加上三个骰子的值的和,如果得分大于等于n则结束游戏. 设E[i]表示当前得到i分时结束游戏的期望. ...
- SVN不能提交时的处理
下面的是我的截图: EMZ3.0 qrh$ svn commit -m ""svn: E155010: Commit failed (details follow):svn: E1 ...
- linux基础命令学习(六)DHCP服务器配置
工作原理: 1.客户机寻找服务器:广播发送discover包,寻找dhcp服务器 2.服务器响应请求:单播发送offer包,对客户机做出响应.提供客户端网络相关的租约以供选 ...
- 刷固件Layer1到手机FLASH(硬刷)
开头: 注意:本文章并不是做GSM 嗅探必须的,平时我们刷机叫软刷是刷到内存里面的,断电就消失了,这个是硬刷,刷到flash里面的,断电不消失,开机就运行的. 本文章经过作者实测可行,这只是单个应用程 ...
- kali 2016的基础配置
1.Kali 2016的更新源 deb http://http.kali.org/kali kali-rolling main contrib non-free 2.安装虚拟机 apt-get upd ...