独辟蹊径解决win7 64位windows installer无法启动的问题。

独辟蹊径解决win7 64位windows installer无法启动的问题。
近期安装软件的时候,软件无法安装提示windows installer服务无法使用。
图片1
运行services.msc进去一看 windows installer 无法启动,提示访问被拒绝。
网上找了各种方法:
1.修改注册表
2.重装windows installer(这个是扯淡,4.5完全是xp用的,win7用的版本还没出呢)
3.用系统盘进行恢复(咱没盘)

我试了试用命令行的方式启动,依旧是拒绝访问。
怀疑是misexec.exe文件被病毒感染了,提取了一个新的文件覆盖,问题依旧。

又怀疑访问被拒绝可能是和UAC和NTFS文件权限有关,改了半天,无果而终。

网上逛的时候,发现有人windows installer服务的选项丢失,好奇点了注册表进去。
发现新大陆了。
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msiserver下面
发现有ImagePath填写的就是服务的启动方式。
话不多说,直接把msiexec.exe文件从system32里面拷贝到了别的地方,将ImagePath改成了新的位置。
修改路径
这个时候再去服务里面看的时候,路径已经改成了新路径了。启动一下,成功了!
回services.msc检查
赶紧去安装软件,使用一切正常~各位要遇到这个问题不妨试试我这个办法~

JAVA EE 学习笔记(三)–JavaScript让人既爱又恨

碎语:

近期发生了很多事情,心情很是烦躁。一是实习方面,很多朋友都出去实习了,实习工资开得还挺高,虽然我是本着实习是学习的心态,但是这也是要能够基本温饱的情况,年纪挺大了,老问父母要钱也听不好意思。实习的话还有纠结的则是实习的公司的选择,我有信心让大公司看上我,我各方面都还算得上优秀,大学期间挺多时间去学习计算机相关的知识,但是在毕业刚刚开始的几年是最关键的,在大公司优厚的待遇和小公司有一展拳脚的空间,我有些难以取舍,在我的个人规划中近几年我会经历很多家公司,直到时机成熟的时候,成立自己的公司。现在的问题则是从哪里开始更加有利于日后的发展,这个问题我觉得有必要请教下前辈的经验了。

笔记:

Javascript是一门神奇的语言,让人既爱又恨(这很多东西都不一样啊),总的来说,它的作用是操作DOM,给用户更友好的交流体验。

先晒下学习成果吧,自己写的一个弹出层示例。

自己写的alert提示框

这个重点是写个利用createElement创建元素,配合一个遮罩层来实现。

tips:还有prompt和confirm如果要写的话无法通过阻塞方式实现的,只能通过回调函数(N多资料后的结论)。

以下则是我整理出来的一些重点~

数组的定义

var arr = new Array();
var arr = new Array(3);
var arr = new Array(“1″,”2″,”3”);
var arr = [“1″,”2”];

判断条件

等于== 全等于=== 全等于要求类型也相等

函数定义方式

1.变量定义:
var getNumber = new function(){};
2.直接定义 function a(){}

函数调用方式:

1.作为事件处理程序调用(onclick = “”)。

2.绑定事件处理程序。
document.all.BUTTON_name.click();
3.全局调用 (直接写代码,基本没怎么用的)

4.元素对象属性字符串中调用。//不怎么看到
<script language=”javascript” for=”document” event=”oncontextmenu”>
window.event.returnValue = false;
</script>

document all 集合的使用方法

id name index tagName
all[id] all[name] all[index]
all.item(index)与上面等效
//是tags方法不是集合
all.tags(tagName)[0].tagName

以上方法已经被替代掉了,用下面的吧
getElementById
getElementsByName
getElementsByTagName

tips:火狐调试发现document.getElementById提示找不到对象,Javascript最好等dom树建立后再去运行。

tips:  不要乱用iframe,建立DOM树慢了一个数量级,会消耗连接,延缓onload事件,用户的感觉就是很慢。

表单的使用:

调用:
1.表单名 document.form1.username.value
2.对象集合 document.forms[]
form1.username //通过name直接应用
两个重要方法:
1.form.submit();
2.form.reset();
两个重要的事件句柄
1.onreset
2.onsubmit
提交参数设置:
form.method = “post/get”
form.action =”mailto:[email protected]
元素操作
focus //设置焦点到需要修改项
select

Cookie的使用

设置:
document.cookie = “id=12”;
document.cookie = “ff=teset”;
提取
arr.split(;);
str.indexOf() 配合substring()来截取
加密escape unescape
有效期
date.setTime(date.getTime() + n*3600*24*1000);
document.cookie = name + “=” uname + “;expire=” + date.toGMTString();

javascript innerHTML、outerHTML、innerText、outerText的区别
HTML是操作HTML代码 Text操作文本//特殊字符会自动转义
inner是标签内部的 outer操作的是标签本身

以下内容我觉得是目前Javascript的重中之重

AJAX重要摘记:
XMLHttpRequest对象:
创建不同浏览器不一样,通用方法如下:

function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}

XMLHttpRequest对象的属性:
一个例子来说明:

if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function state_Change(){
if (xmlhttp.readyState==4)
{// 4 = "loaded"
if (xmlhttp.status==200)
{// 200 = OK
// ...our code here...
}
else
{
alert("Problem retrieving XML data");
}
}
}

设置事件句柄:
事件句柄:
onreadystatechange
每次 readyState 属性改变的时候调用的事件句柄函数。当 readyState 为 3 时,它也可能调用多次。

readyState:
状态 名称 描述
0 Uninitialized 初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。
1 Open open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。
2 Sent Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。
3 Receiving 所有响应头部都已经接收到。响应体开始接收但未完成。
4 Loaded HTTP 响应已经完全接收。
status
由服务器返回的 HTTP 状态代码,如 200 表示成功,而 404 表示 “Not Found” 错误。
当 readyState 小于 3 的时候读取这一属性会导致一个异常。
使用基本流程:
1.绑定onreadystatechange
2.初始化请求参数open()
3.send()提交
如果之前调用的 open() 参数 async 为 false,这个方法会阻塞并不会返回,
直到 readyState 为 4 并且服务器的响应被完全接收。否则,如果 async 参数为 true,或者这个参数省略了,send() 立即返回.
4.onreadystatechange绑定函数中的操作
xmlhttp 对象
xmlhttp.readyState == 4 //onload
xmlhttp.status == 200 //ok readyState must be 4
xmlhttp.responseText;