次元主神创建者顶点包的时候为什么后面会把前一个顶掉了

监理工程师(建设部)考试
1.选择试题2.注册/登陆3.开始答题4.提交试卷5.查看成绩6.答案解析
您的位置:&& && && && && 试卷题库内容
试题来源:
正确答案:
总监理工程师的做法不妥。总监理工程师应先组织专业监理工程师审查承包单位报送的施工组织设计报审表,审核签认后报建设单位,然后才能签发工程开工报审表。
2.事件2中有两处不妥:
(1)业主违背了承包合同的约定,在事先未征得监理工程师同意的情况下,自行确定了分包单位;事先也未与施工单位进行协商,而是确定了分包单位以后才通知施工单位。
(2)在没有正式签订分包合同的情况下,即确定了分包单位的进场时间。
3.总监理工程师应及时与业主沟通,签发该分包意向无效的书面监理通知,尽可能采取措施阻止分包单位进场,以防止问题进一步复杂化。同时,总监理工程师应对项目业主选定的分包单位进行资质审查,若资质审查合格,可与施工单位协商,建议施工单位与该合格的防水分包单位签订防水工程施工分包合同;若资质审查不合格,总监理工程师与业主协商,建议由施工单位另选合格的防水工程施工分包单位。总监理工程师应及时将处理结果报业主备案。
4.信息管理部门的做法不妥,以上4种监理文件均应在有关单位保存,不能丢失或不全。
解题要点:首先通过审题了解该案例涉及以下知识点:问题1涉及工程项目开工前,审查施工组织设计报审表的程序,问题2涉及选择分包单位的权力以及分包单位进场的程序,问题3涉及总监理工程师如何处理工程实际问题,问题4涉及监理文件内容及监理文件的保存。然后根据以上知识点答题,回答问题3时注意不能脱离《建设工程监理规范》。
您可能感兴趣的试题
第&1&题:填空题:
某大型垃圾发电站工程项目是某国第二个垃圾发电站项目,该项目除厂房及有关设施的土建工程外,尚有全套进口的垃圾发电设备及垃圾处理设备的安装工程任务,以及厂区外的职工生活区采用标准图纸的生活用房施工任务;此外,在厂房范围内的一段地基,由于地质条件不良,而且复杂,需设置深基础维护系统,包括护坡桩加固边坡以及压顶梁、钢支撑等一系列复杂施工处理工作。业主委托某监理单位组织施工招标及施工阶段监理。 问题:你作为监理工程师建议采用什么方式招标?为什么? 2.你所提出的招标方式有什么优点和缺点? 3.你认为本工程项目采取哪种合同形式分包较好?为什么?
答案解析:第&2&题:填空题:
某市属工程公司在市内高架线路的混凝土工程施工过程中出现了局部坍塌事故,经调查组的技术鉴定认为是由于施工单位拆模过早,混凝土未达到足够的强度所造成的。由于及时发现没有造成重大损失,估计损失不足4万元,且未造成人身伤亡。 问题:发生此质量事故后,在质量事故调查前,监理工程师应做哪些工作? 2.此质量事故的调查组应由谁组织?监理单位是否参加质量事故调查组? 3.此质量事故的技术处理方案应由谁提出?事故处理的基本要求是什么? 4.此质量事故的调查报告应由谁提出? 5.事故处理的依据是什么?事故处理报告应由谁提出?
答案解析:第&3&题:填空题:
某大型商业大厦建设工程项目,业主与施工单位及监理单位分别签订了工程施工合同和委托监理合同。工程开工后曾发生下列事件。 1.在工程的基础施工中,由于施工班组的违章作业,使经过监理人员检验合格的基础钢筋出现位移质量事故,在混凝土浇筑不久后,被监理方发现,及时口头指示并书面通知承包方立即停工处理和整改。承包方按监理方指令执行,提出质量事故报告及处理方案,经监理工程师审查批准后实施。整改完成后,经监理方重新检验确认合格后,指令复工继续基础混凝土施工并明确由此造成的经济损失由承包方承担,工期不予延长。监理方将此事故及处理情况向业主作了报告。而业主代表书面提出:出现质量事故,监理公司也应负一定责任要求扣除1%的监理费用作为罚金。 2.在地下管道施工时,管道铺设完毕后,承包方曾书面通知监理方要求检查管道铺设质量,但监理方收到质量验收通知单后,在合同规定的时间内并来前去检查,也未提出延期检查的书面要求。因此承包方即将管道予以回填。为此,监理方书面指令承包方将管沟重新挖开,以便检查管道质量。承包方按监理方要求对管沟进行剥露,经监理方检查后,确认管道铺设质量未达到设计图纸要求和合同要求,也不符合标准和规范要求,管道接缝严重漏水。因此,监理方要求承包方返工。承包方按要求进行了管道的返工处理,经监理方检验质量合格予以确认后,将管沟重新回填。由此造成工期拖延了7天,经济损失8万元。承包方提出了索赔要求。 问题:作为监理方是否接受业主代表要求扣除1%的监理费作为罚金?为什么? 2.承包方在管道未经检查并认可其质量的情况下,能否回填和覆盖?管沟合法回填的前提条件是什么? 3.承包方提出的发包方补偿管沟再度剥露的费用和工期延长的要求是否合理?为什么?监理方如何处理?
答案解析:第&4&题:填空题:
某框剪结构工程建筑面积为6000m2,某监理工程师承担了该工程的施工招标和施工监理任务。已知土建工程的直接工程费为600万元,措施费率为10%,间接费率为8%,利润率为5%,税率为3.4%,以直接费为计算基数。
问题:施工图编制的依据有哪些?施工图预算有哪几种编制方法?
2.施工图预算审查的方法有哪几种?重点审查哪些内容?
3.监理工程师如何进行计量,承包方在监理计量过程中如何做?
4.计算该土建工程的单位工程预算费用?
5.若该项目所包括的各单位工程造价占单项工程综合造价的比例分别如表所示,确定整个单项工程的综合造价。
单位工程名称
占单项工程综合价(%)
答案解析:第&5&题:填空题:
某工程项目的原施工进度网络计划(双代号)如下图所示。该工程总工期为18个月。在上述网络计划中,工作C、F、J3项工作均为土方工程,土方工程量分别为7000m3、10000m3、6000m3,共计23000m3,土方单价为15元/m3。合同中规定,土方工程量增加超出原估算工程量25%时,新的土方单价可从原来的15元/m3增加到17元/m3。在工程按计划进行4个月后(已完成A、B两项工作的施工),业主提出增加一项新的土方工程N,该项工作要求在F工作结束以后开始,并在C工作开始前完成,以保证C工作在E和N工作完成后开始施工。根据承包商提出并经监理工程师审核批复,该项N工作的土方工程量约为9000m3,施工时间需要3个月。
根据施工计划安排,C、F、J工作和新增加的土方工程N使用同一台挖土机先后施工,现承包提出由于增加土方工程N后,使租用的挖土机增加了闲置时间,要求补偿挖土机的闲置费用(每台闲置1天为800元)和延长工期3个月。
问题:增加一项新的土方工程N后,土方工程的总费用应为多少?
2.监理工程师是否应同意给予承包方施工机械闲置补偿?应补偿多少费用?
3.监理工程师是否应同意给予承包方工期延长?应延长多长时间?
答案解析:
做了该试卷的考友还做了
······(1)由v-t图可知,起跳后前2s内运动员的运动近似是匀加速运动,其加速度
a=v1/t1=9.0m/s2………………(1分)
设运动员所受平均阻力为f,根据牛顿第二定律有& m总g-f=m总a…………………(1分)
解得& f=m总(g-a)=80N………………(2分)
(2)v-t图可知,运动员脚触地时的速度v2=5.0m/s,经时间t2=0.2s速度减为0(1分)
设此过程中运动员所受平均冲击力大小为F,根据牛顿第二定律有
F-mg=ma′………(1分)&&& 0= v2-
a′t2………………………………(1分)
解得& F=2.4×103N…………………………………………………………………(1分)
说明: F=2450N也同样得分。
(3)由v-t图可知,10s末开伞时的速度v=40m/s,开伞前10s内运动员下落的高度约为h=30×10m=300m………………………………………………………………………(1分)
说明:此步骤得出280m~320m均可得分。
设10s内空气阻力对运动员所做功为W,根据动能定理有
m总gh+W=m总v2……(2分)&&&& 解得& W=-1.8×105J…………(2分)
说明:此步得出-1.6×105J~-1.9×105J均可得分,若没有写“-”扣1分。
请在这里输入关键词:
科目:高中物理
(2012?钟祥市模拟)低空跳伞是一种极限运动,一般在高楼、悬崖、高塔等固定物上起跳.人在空中降落过程中所受空气阻力随下落速度的增大而变大,而且速度越大空气阻力增大得越快.因低空跳伞下落的高度有限,导致在空中调整姿态、打开伞包的时间较短,所以其危险性比高空跳伞还要高.一名质量为70kg的跳伞运动员背有质量为10kg的伞包从某高层建筑顶层跳下,且一直沿竖直方向下落,其整个运动过程的v-t图象如图所示.已知2.0s末的速度为18m/s,10s末拉开绳索开启降落伞,16.2s时安全落地,并稳稳地站立在地面上.g取10m/s2,请根据此图象估算:(1)起跳后2s内运动员(包括其随身携带的全部装备)所受平均阻力的大小;(2)运动员从脚触地到最后速度减为0的过程中,若不计伞的质量及此过程中的空气阻力,则运动员所需承受地面的平均冲击力多大;(3)开伞前空气阻力对跳伞运动员(包括其随身携带的全部装备)所做的功.
科目:高中物理
低空跳伞是一种极限运动,一般在高楼、悬崖、高塔等固定物上起跳。人在空中降落过程中所受空气阻力随下落速度的增大而变大,而且速度越大空气阻力增大得越快。因低空跳伞下落的高度有限,导致在空中调整姿态、打开伞包的时间较短,所以其危险性比高空跳伞还要高。一名质量为70kg的跳伞运动员背有质量为10kg的伞包从某高层建筑顶层跳下,且一直沿竖直方向下落,其整个运动过程的v-t图象如图15所示。已知2.0s末的速度为18m/s,10s末拉开绳索开启降落伞,16.2s时安全落地,并稳稳地站立在地面上。g取10m/s2,请根据此图象估算:1.起跳后2s内运动员(包括其随身携带的全部装备)所受平均阻力的大小;2.运动员从脚触地到最后速度减为0的过程中,若不计伞的质量及此过程中的空气阻力,则运动员所需承受地面的平均冲击力多大;3.开伞前空气阻力对跳伞运动员(包括其随身携带的全部装备)所做的功。&&
科目:高中物理
(2013江苏苏南四校联考)低空跳伞是一种极限运动,一般在高楼、悬崖、高塔等固定物上起跳。人在空中降落过程中所受空气阻力随下落速度的增大而变大,而且速度越大空气阻力增大得越快。因低空跳伞下落的高度有限,导致在空中调整姿态、打开伞包的时间较短,所以其危险性比高空跳伞还要高。一名质量为70kg的跳伞运动员背有质量为10kg的伞包从某高层建筑顶层跳下,且一直沿竖直方向下落,其整个运动过程的v-t图象如图所示。已知2.0s末的速度为18m/s,10s末拉开绳索开启降落伞,16.2s时安全落地,并稳稳地站立在地面上。g取10m/s2,请根据此图象估算:
(1)起跳后2s内运动员(包括其随身携带的全部装备)所受平均阻力的大小。
(2)运动员从脚触地到最后速度减为0的过程中,若不计伞的质量及此过程中的空气阻力,则运动员所需承受地面的平均冲击力多大。
(3)开伞前空气阻力对跳伞运动员(包括其随身携带的全部装备)所做的功(结果保留两位有效数字)。
科目:高中物理
来源:学年福建省高三高考热身理科综合物理试卷(解析版)
题型:计算题
低空跳伞是一种极限运动,一般在高楼、悬崖、高塔等固定物上起跳。人在空中降落过程中所受空气阻力随下落速度的增大而变大,而且速度越大空气阻力增大得越快。因低空跳伞下落的高度有限,导致在空中调整姿态、打开伞包的时间较短,所以其危险性比高空跳伞还要高。一名质量为70kg的跳伞运动员背有质量为10kg的伞包从某高层建筑顶层跳下,且一直沿竖直方向下落,其整个运动过程的v-t图象如图所示。已知2.0s末的速度为18m/s,10s末拉开绳索开启降落伞,16.2s时安全落地,并稳稳地站立在地面上。g取10m/s2,请根据此图象估算:
(1)起跳后2s内运动员(包括其随身携带的全部装备)所受平均阻力的大小。
(2)运动员从脚触地到最后速度减为0的过程中,若不计伞的质量及此过程中的空气阻力,则运动员所需承受地面的平均冲击力多大。
科目:高中物理
来源:2011年海淀区高三第一学期期中考试物理卷
题型:计算题
低空跳伞是一种极限运动,一般在高楼、悬崖、高塔等固定物上起跳。人在空中降落过程中所受空气阻力随下落速度的增大而变大,而且速度越大空气阻力增大得越快。因低空跳伞下落的高度有限,导致在空中调整姿态、打开伞包的时间较短,所以其危险性比高空跳伞还要高。一名质量为70kg的跳伞运动员背有质量为10kg的伞包从某高层建筑顶层跳下,且一直沿竖直方向下落,其整个运动过程的v-t图象如图15所示。已知2.0s末的速度为18m/s,10s末拉开绳索开启降落伞,16.2s时安全落地,并稳稳地站立在地面上。g取10m/s2,请根据此图象估算:
1.起跳后2s内运动员(包括其随身携带的全部装备)所受平均阻力的大小;
2.运动员从脚触地到最后速度减为0的过程中,若不计伞的质量及此过程中的空气阻力,则运动员所需承受地面的平均冲击力多大;
3.开伞前空气阻力对跳伞运动员(包括其随身携带的全部装备)所做的功。
精英家教网新版app上线啦!用app只需扫描书本条形码就能找到作业,家长给孩子检查作业更省心,同学们作业对答案更方便,扫描上方二维码立刻安装!
作业讨论群:【已解决】给一个C#的Dll库的项目,制作msi安装包 + 【已彻底搞懂原因】制作出来的msi的installer,在卸载程序的时候,在删除本程序所创建的注册表项的同时会把父级注册表项删除掉
已完成一个Windows Live Writer(WLW)的一个插件,是C#实现的dll库的形式的一个项目。
现在需要制作对应的msi的安装包。
其实呢,如果只是让此WLW的插件可以用,直接通过拷贝此C#所生成的dll文件,放到WLW的Plugin目录下,也就可以了。但是希望是不需要用户操心,所以还是制作出对应的msi安装包,双击安装,一切搞定,比较易用。
因此,希望制作出来的msi安装包,需要先检测出来WLW已经安装,然后拷贝对应的dll到WLW的plugin目录,然后根据官网的说明:
添加对应的注册表项。
这样,才算一个比较完全和智能的安装包。
【解决过程】
1.网上搜了一堆资料,除了个别的帖子: 中提到,如何创建C#的安装项目:
也没找到注册表的编辑界面,是从哪里打开的。
后来,才发现,原来是通过,右击项目-&视图-&注册表,而打开的注册表编辑器,可以增删对应的注册表项。
这下,就可以慢慢去折腾,到底是如何添加对应的注册表项的了。
注:后来在这里看到的,原来通过 视图-&编辑器:
也可以找到这几个相关的编辑器的,包括文件系统,条件编辑器等。
3.同时,也看到上面的视图中,是有个“启动条件”的,然后又去打开了启动条件,新建了个启动条件的项:
然后设置Property为WLWINSTALLDIR,接着,再去设置一个启动条件condition:
message设为“Before install this plugin, please install Windows Live Writer first.”,表示如果没有满足WLWINSTALLDIR的condition,就会给出对应这段提示。
然后再去对应的在文件系统或注册表中,操作(添加/删除/修改)对应的文件或注册表项。然后每个操作项,都有一个condition,此处设置为我上面所设置的hasInstallWlw,然后才会操作这些文件或注册表项:
搞懂了这套基本的逻辑,接下来,就是一点点按照自己的思路,去实现对应的安装部署的过程了。
5.进过一番折腾,对于最开始想要通过注册表判断,是否能在注册表的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Live\Writer\
中找到InstallDir,然后得到其值,就可以再去设置将dll拷贝到此目录下的plugins目录中去了。
所以去做了如下设置:
1.创建了名为searchWlwInstallDir的注册表搜索项:
其RegKey设置为SOFTWARE\Microsoft\Windows Live\Writer\InstallDir,即希望搜索这个值,如果能找到,那就说明当前已经安装了WLW了。
然后将找到的此值对应的Value,保存为installedWlwDir,表示找到的已经安装了的Wlw的安装路径。
对应的Property命名为WLWINSTALLDIR。
2.然后也建立了一个名为hasInstallWlw的启动条件:
但是,设置好后,其condition设置为上面的WLWINSTALLDIR,然后Message设置为Before install this plugin, please install Windows Live Writer first.,这样如果安装过程中,不满足此条件,则会对应的这个错误提示内容。
3.后面又添加了一些其他的配置,去创建文件夹,拷贝dll等。
4.然后生成解决方案后,想要去找到此 安装和部署项目的调试方法,没有找到。
然后发现只能通过右击项目,选择 安装,来实现立即的测试而已。
结果选择安装,却出现了上面所设置的错误提示“Before install this plugin, please install Windows Live Writer first.”,然后安装就失败了。
5.然后就去搜索解决办法。
后来google“C#  search target computer”,找到:
然后再搜“Registry Launch”找到微软的官方例子:
然后才搞懂,原来是上面的设置中,RegKey,应该是SOFTWARE\Microsoft\Windows Live\Writer,然后Value是InstallDir,这样才是去搜索
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Live\Writer\InstallDir
然后再去尝试安装,就没有出现上述错误提示了,即找到了上面这个注册表项。
6.然后接着去安装,启动后,就已经可以找到我所设置的对应的安装路径了。
不过在此之前,先说我是如何做的:
(1)先通过右击“应用程序文件夹”-&添加-&程序集:
然后浏览找到我的项目所生成的dll:crifan.InsertSkydriveFiles.dll,添加进来后,系统会自动检测到一堆的依赖项:
而都把他们排除掉了。
然后对于的确所需要的微软的.NET Framework,双击后,会自动在启动条件中出现.NET Framework,然后对于其属性,把Version从默认的4.0的改为我的原先C#的dll项目所需要的2.0:
(2)然后对于“应用程序文件夹”的属性,把DefaultLocation设置为我所需要的[ProgramFilesFolder]\Windows Live\Writer\Plugins,把condition设置为前面的WLWINSTALLDIR:
如此都设置好后。然后用生成的安装程序去安装:,启动后,就可以看到对应的安装向导了:
确认安装:
如此,一个最基本的安装工具,就完成了。
7.不过还是想要实现别人的那种,不需要用户选择安装路径,而直接安装的那种。
因为此处是定死的,必须装到WLW的Plugins目录下的,然后才WLW才可以识别的,所以,此处不需要麻烦用户再去指定安装路径,而应该是直接安装包固定对应的路径,然后直接拷贝对应dll文件即可。
然后此处遇到个问题,那就是,想要把dll拷贝到的目标路径,其实取决于之前搜索注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Live\Writer\InstallDir
所获得的值,来决定的,而如何引用到上面的值,一直没搞懂,后来在这里:
看到了具体的方法。那就是,对于上面的注册表搜索,对应的值,是通过Property的名字,加上对应的中括号来获得的。
即上面的property是WLWINSTALLDIR:
所以对应的要把dll拷贝到的路径就是[WLWINSTALLDIR]\Plugins:
竟然还有原先的这个草稿的,即,虽然WLW注册表项被破坏了,被删除了,但是本地草稿的内容,还是存在的。
所以,觉得WLW还是做得很不错的。所以特此感谢一下。
继续上面的制作installer的过程。
目前的情况是,虽然可以制作出来对应的msi的安装包了,而且也可以写入注册表项了。
但是在卸载的时候,会删除父级的注册表项:
其中,对于新添加的PluginAssemblies注册表项的属性部分:
此处截图的设置是:
AlwaysCreate = True
DeleteAtUninstall = False
Transitive = True
结果是卸载的时候,还是会删除对应的其父级的注册表项,即:
HKCU\Software\Microsoft\Windows Live\Writer,中的所有的项:
即上图中的glinks,preference,update等等,全部都会被删除,然后才导致重新打开wlw,会丢失之前的所有的设置的。
然后关于AlwaysCreate 和Transitive 的设置,也都试过false和true的各种搭配,结果都还是不行,还是会在卸载的时候删除writer下面的所有的注册表项,而不是期望的,只删除手动创建的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Live\Writer\
下面的crifan.InsertSkydriveFiles。
所以很是悲剧。暂时还没解决这个问题。
如果设置,才能在卸载的时候,只删除本程序所创建的,最后一级的注册表项crifan.InsertSkydriveFiles,而不是把其上一级Writer下面的所有的注册表项都删除。
后来经过尝试,找到了解决办法,即如何保证卸载的时候,只卸载对应的自己的程序所新建的注册表项,而不去删除该注册表项的父级(上一级,上两级等)的注册表项。
即,对于每一级的注册表:
从最开始的各个父级的注册表项:
对应的设置是:
condition,都为空,都不用填写啥前提条件,因为本程序都没去创建对应的注册表项,人家WLW原先就已经创建了,所以不需要设置对应的condition。
AlwaysCreate设置为false,即不需要自己创建,因为本来这些项,就是存在的。
Transitive设置为false。这个参数需要特别注意,虽然官方对于此项的解释:
说是不要轻易设置为false。但是我此处经过实际测试,之前会误删注册表,就是由于这个Transitive设置为True了。
到本程序所新建的注册表项crifan.InsertSkydriveFiles一级:
所有的transitive,也要设置为false,否则就会删除上一级的注册表项!!!
对于前提条件condition,此处最好填上对应的条件,毕竟是自己程序所创建的注册表项,所以需要自己根据条件来决定是否添加。
【题外话】
在找关于在删除本程序所建注册表项同时会删除父级注册表项,别人也遇到类似问题了:
尤其是第二个人,遇到的问题和我是一样的。
即,对于最开始为本安装程序创建注册表项的时候,是自己手动从HKEY_CURRENT_USER下面,依次,右键,“新建键”,而建了:
Microsoft\Windows Live\Writer\PluginAssemblies
最后在PluginAssemblies之下,添上自己要的注册表项crifan.InsertSkydriveFiles的。
而对于卸载程序会删除掉PluginAssemblies,甚至Writer,即把父级的一些注册表项,都干掉了,所以直观的理解是,估计是卸载程序以为这里的Microsoft,Windows Live,Writer,PluginAssemblies,都是手动自己创建的,所以在卸载的时候才会给一起卸载掉,所以也曾想过,如果这些项,可以不用手动创建,而是对于最后一个crifan.InsertSkydriveFiles注册表项中,直接给出注册表的绝对路径,即HKCU\Microsoft\Windows Live\Writer\PluginAssemblies,那么卸载程序,估计就不会去删除父级的注册表项了。
但是,实际上,却发现,新建的crifan.InsertSkydriveFiles,或者是其父级的PluginAssemblies的属性中的FullPath,都是灰色的HKCU\Software\Microsoft\Windows Live\Writer\PluginAssemblies,是不可改变的,所以,也就没法实现上面的想法,手动输入绝对路径了。
而如果对于要添加的项crifan.InsertSkydriveFiles,写出带绝对路径的
HKCU\Software\Microsoft\Windows Live\Writer\PluginAssemblies\crifan.InsertSkydriveFiles,那么你也是无法通过编译的,因为名字非法。
所以,看似是一个无解的过程。
最后实际上,是经过折腾后,才发现,原来是上面的transitive惹的祸,虽然不是完全的清楚这个选项的用途,但是确定就是这个选项,如果设置为true,会导致卸载会删除父级注册表项,所以,此处解决办法很简单,就是把你所要建的注册表,及其父级的注册表的transitive都改为false,即可。
所以,还是那句话,微软在有些细节方面,貌似也还是设计的有些诡异,至少让很多人,不止我一个,无法完全搞懂其参数的含义,导致出现这类诡异的事情。
1.对于制作msi/installer来说,添加文件系统中对应的文件部分,相对不复杂,大不了是多摸索,也就能弄出来。
相对比较让人头大的是,对应的注册表的操作,主要是在程序安装的时候,能安装到对应的位置,而且保证程序卸载的时候,会卸载对应的本程序所创建的注册表项尤其需要注意的是,一定要把Transitive设置为false,否则就会在卸载程序的时候,在删除本程序自己的注册表项的同时,也把其他原先就已经存在的,父级的注册表项也同时删除掉了。
刚才以为自己解决了,实际上还是没彻底解决,关于卸载时删除父级注册表的问题。
最后的最后,还是会删除crifan.InsertSkydriveFiles的父级PluginAssemblies,只是暂时不会删除更上一级的Writer而已。
垃圾的installer啊,经过刚才更多次的测试,结果是,有时候会删除PluginAssemblies,而有时候却又不会删除PluginAssemblies,所以很是无语。。。
不知道具体删除或不删除的规则是啥。。。
后来把生成的msi,拿到另外一台XP的机子上测试了一下,安装此WLW插件是可以的,可以拷贝dll文件,也可以创建对应注册表项,但是卸载的时候,还是会把PluginAssemblies项删掉,所以还是有问题。感觉的确是.NET的一个bug。
【后记4  】
经过一番测试,证实了这个帖子:
中所看到的现象,即,如果MSI的uninstall去卸载你之前安装的文件的话,
去删除对应程序所创建的某个sub key 的话,如果删除sub key之后,对应的parent key是空的,则会同时也把parent key也删除掉:
而我为了验证那个帖子的结论,专门去测试了一下,在
HKEY_CURRENT_USER\Software\Microsoft\Windows Live\Writer\PluginAssemblies
下面单独随便建立了一个名为makesureNotEmpty的sub key,值为“just make sure this is not empty, then check whether uninstaller will delete the parent registry or not”,然后,在我的msi的installer安装后,会在PluginAssemblies下面生成对应的subkey:
crifan.InsertSkydriveFiles = C:\Program Files\Windows Live\Writer\Plugins\crifan.InsertSkydriveFiles.dll
然后卸载程序uninstall的话,就只会删除程序自己所创建的crifan.InsertSkydriveFiles ,而不会同时删除去parent key,即PluginAssemblies了,因为PluginAssemblies不为空。
至此,此问题,算是有了个最终的结论。
如果你的安装程序在安装过程中,创建了某个注册表项subkey,在卸载的时候,会删除自己程序所创建的subkey的同时,如果发现其parent key是空的话,没有其他subkey了,那么也会同时删除此parent key的。
此问题,的确是属于诡异的行为。正如上面那个帖子中最后那人说的“very old Windows Installer behavior”。
严格意义上说,此问题,是一个bug,不知道微软啥时候能解决掉。。。
注:对于此处的所用到的环境是:installer 3.1, + .NET 2.0
共享此文章:
免费的格式化Javascript源码的网站
查询Unicode字符,且还带Oct,Decimal,Hex,HTML Entity
HTML和Javascript都支持,很好用。}

我要回帖

更多关于 如何创建顶层表单 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信