来自Microsoft知识库。一开始我以为是自己优化造成的。结果我把HKEY _ local _ machine \ software \ Microsoft \ windows \ current version \ runonce删除了,导致汗流浃背。
要处理INF文件的[DefaultInstall]部分,当Setupapi.dll需要写注册表项来完成安装脚本时,是Grpconv.exe HKEY _ local _ machine \ software \ Microsoft \ windows \ current version \ runonce。因为不属于Administrators本地组的用户没有这个注册表项,所以相应的API函数RegOpenKeyEx()具有完全控制权限,并返回错误5(拒绝访问)。Setupapi.dll试图打开KEY_ALL_access标志时出错。反过来,Setupapi.dll会生成一条错误消息“安装失败”。