Metro应用在启动,驱动程序或权限问题时崩溃?


18

安装Win8 x64 RC后,Metro应用程序可以正常运行,但是桌面OpenGL应用程序运行缓慢且无响应。我安装了最新的Win8 nVidia驱动程序,并且OpenGL应用程序开始正常运行。同时,由于令人讨厌的权限消息,我将C:\驱动器及其所有文件所有权更改为我的用户,并授予了它完全的权限。

安装驱动程序后,我重新启动了PC,现在Metro应用程序仅显示启动屏幕,然后崩溃。

我尝试安装其他版本的nVidia驱动程序,但结果相同。

我的GPU是GeForce GTX275。

这是nVidia驱动程序的已知问题吗?还是更改C:\的所有权是真正的问题?

谢谢。


详细信息(在事件查看器中查看之后)

我设法在事件查看器中找到问题和错误。我仍然无法解决。这是我通过打开Mail应用程序并使其崩溃而发现的信息:

Log Name:      Microsoft-Windows-TWinUI/Operational
Source:        Microsoft-Windows-Immersive-Shell
Date:          07/06/2012 15.54.17
Event ID:      5961
Task Category: (5961)
Level:         Error
Keywords:      
User:          VEE-PC\Vittorio
Computer:      vee-pc
Description:
Activation of the app microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail for the Windows.Launch contract failed with error: The app didn't start..
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Immersive-Shell" Guid="{315A8872-923E-4EA2-9889-33CD4754BF64}" />
    <EventID>5961</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>5961</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="2012-06-07T13:54:17.472416600Z" />
    <EventRecordID>6524</EventRecordID>
    <Correlation />
    <Execution ProcessID="3008" ThreadID="6756" />
    <Channel>Microsoft-Windows-TWinUI/Operational</Channel>
    <Computer>vee-pc</Computer>
    <Security UserID="S-1-5-21-2753614643-3522538917-4071044258-1001" />
  </System>
  <EventData>
    <Data Name="AppId">microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail</Data>
    <Data Name="ContractId">Windows.Launch</Data>
    <Data Name="ErrorCode">-2144927141</Data>
  </EventData>
</Event>

找到了其他东西,这是打开Metro应用程序时出现的另一个错误:

Log Name:      Application
Source:        ESENT
Date:          07/06/2012 16.01.00
Event ID:      490
Task Category: General
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      vee-pc
Description:
svchost (1376) SRUJet: An attempt to open the file "C:\Windows\system32\SRU\SRU.log" for read / write access failed with system error 5 (0x00000005): "Access is denied. ".  The open file operation will fail with error -1032 (0xfffffbf8).
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="ESENT" />
    <EventID Qualifiers="0">490</EventID>
    <Level>2</Level>
    <Task>1</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2012-06-07T14:01:00.000000000Z" />
    <EventRecordID>11854</EventRecordID>
    <Channel>Application</Channel>
    <Computer>vee-pc</Computer>
    <Security />
  </System>
  <EventData>
    <Data>svchost</Data>
    <Data>1376</Data>
    <Data>SRUJet: </Data>
    <Data>C:\Windows\system32\SRU\SRU.log</Data>
    <Data>-1032 (0xfffffbf8)</Data>
    <Data>5 (0x00000005)</Data>
    <Data>Access is denied. </Data>
  </EventData>
</Event>

再次更改权限(将“所有人”和“创建者所有者”添加到System32)后,“拒绝访问sru.log”错误消失,但是该错误出现在其位置:

Log Name:      Application
Source:        Microsoft-Windows-Immersive-Shell
Date:          07/06/2012 16.16.34
Event ID:      2486
Task Category: (2414)
Level:         Error
Keywords:      (64),Process Lifetime Manager
User:          VEE-PC\Vittorio
Computer:      vee-pc
Description:
App microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail did not launch within its allotted time.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Immersive-Shell" Guid="{315A8872-923E-4EA2-9889-33CD4754BF64}" />
    <EventID>2486</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>2414</Task>
    <Opcode>0</Opcode>
    <Keywords>0x2000000000000042</Keywords>
    <TimeCreated SystemTime="2012-06-07T14:16:34.616499600Z" />
    <EventRecordID>11916</EventRecordID>
    <Correlation />
    <Execution ProcessID="3008" ThreadID="6996" />
    <Channel>Application</Channel>
    <Computer>vee-pc</Computer>
    <Security UserID="S-1-5-21-2753614643-3522538917-4071044258-1001" />
  </System>
  <EventData>
    <Data Name="ApplicationId">microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail</Data>
  </EventData>
</Event>

现在我被卡住了。它告诉我“激活应用程序microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail失败,并显示错误:该应用程序无法启动。请参阅Microsoft-Windows-TWinUI /操作日志以获取更多信息。” 但找不到Microsoft-Windows-TWinUI /操作日志。

我开始赏金。


我找到了TWinUI /操作日志。它只告诉我:

Log Name:      Microsoft-Windows-TWinUI/Operational
Source:        Microsoft-Windows-Immersive-Shell
Date:          07/06/2012 16.28.57
Event ID:      5961
Task Category: (5961)
Level:         Error
Keywords:      
User:          VEE-PC\Vittorio
Computer:      vee-pc
Description:
Activation of the app microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail for the Windows.BackgroundTasks contract failed with error: The app didn't start..
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Immersive-Shell" Guid="{315A8872-923E-4EA2-9889-33CD4754BF64}" />
    <EventID>5961</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>5961</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="2012-06-07T14:28:57.238140800Z" />
    <EventRecordID>6536</EventRecordID>
    <Correlation />
    <Execution ProcessID="3008" ThreadID="2624" />
    <Channel>Microsoft-Windows-TWinUI/Operational</Channel>
    <Computer>vee-pc</Computer>
    <Security UserID="S-1-5-21-2753614643-3522538917-4071044258-1001" />
  </System>
  <EventData>
    <Data Name="AppId">microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail</Data>
    <Data Name="ContractId">Windows.BackgroundTasks</Data>
    <Data Name="ErrorCode">-2144927141</Data>
  </EventData>
</Event>

我需要更深入。我找到了一个论坛线程,该线程告诉我寻找“ DCOM”错误。我发现这与应用崩溃有关

“服务器Microsoft.WindowsLive.Mail.wwa没有在所需的超时内向DCOM注册。”

Log Name:      System
Source:        Microsoft-Windows-DistributedCOM
Date:          07/06/2012 16.46.45
Event ID:      10010
Task Category: None
Level:         Error
Keywords:      Classic
User:          VEE-PC\Vittorio
Computer:      vee-pc
Description:
The server Microsoft.WindowsLive.Mail.wwa did not register with DCOM within the required timeout.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-DistributedCOM" Guid="{1B562E86-B7AA-4131-BADC-B6F3A001407E}" EventSourceName="DCOM" />
    <EventID Qualifiers="0">10010</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8080000000000000</Keywords>
    <TimeCreated SystemTime="2012-06-07T14:46:45.586943800Z" />
    <EventRecordID>2763</EventRecordID>
    <Correlation />
    <Execution ProcessID="804" ThreadID="2364" />
    <Channel>System</Channel>
    <Computer>vee-pc</Computer>
    <Security UserID="S-1-5-21-2753614643-3522538917-4071044258-1001" />
  </System>
  <EventData>
    <Data Name="param1">Microsoft.WindowsLive.Mail.wwa</Data>
  </EventData>
</Event>

第一步是对下载的iso执行校验和。如果您使用IE以外的其他方式下载了该文件,则它可能已损坏
Derethus 2012年

校验和很好。此外,在弄乱权限之前,Metro应用程序可以正常工作。
罗密欧

您在使用Avast吗?
pratnala 2012年

2
除了建议更改权限外,我建议sfc /scannow在提升权限的命令提示符下运行,以检查是否有损坏的系统文件
pratnala 2012年

TWin操作日志在哪里???
亚当·普洛彻

Answers:


8

好的,我花了我一生的时间来解决这个问题,因此希望对您有所帮助。我已经更改了我的用户文件夹的权限(就像我一直一样),只允许我的用户和SYSTEM。不幸的是,这破坏了一些Metro / Modern应用程序,包括天气,新闻,财经,Netflix等。

为了使所有Metro / Modern应用程序正常工作,“ ALL_APPLICATION_PACKAGES”所需的唯一权限是:

  1. 文件-- %USERPROFILE%\AppData\Local\Temporary Internet Files\counters.dat读取并执行,读取-(您需要在“文件夹选项”中取消选中“隐藏受保护的操作系统文件”以查看“ Internet临时文件”文件夹)

(如果在上述位置找不到,请尝试%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\counters.dat

  1. 文件夹-- %USERPROFILE%\AppData\Local\WER特殊:列出文件夹/读取数据,创建文件夹/附加数据

(如果在上述位置找不到,请尝试%USERPROFILE%\AppData\Local\Microsoft\Windows\WER

它不需要完全访问C:驱动器,甚至不需要访问Packages文件夹(如先前的建议)。

您可以在更改上述权限后重新启动,也可以终止相应的进程。


嗯,我没有看到这些。即使关闭了隐藏保护设置。
paulwhit 2012年

1
在我的香草Windows 8 Pro上,仅存在该文件夹%USERPROFILE%\AppData\Local\Microsoft\Windows\WER。我可以确认ALL_APPLICATION_PACKAGES的特殊权限确实是“列出文件夹/读取数据”和“创建文件夹/附加数据”
2013年

请注意,要执行此操作,您应该以其他管理员帐户登录;否则,您将在Internet临时文件文件夹中看不到“ counters.dat”文件。
Achal Dave

该文件是一个结点(Windows符号链接)::dir /a<JUNCTION>临时Internet文件[C:\ Users \ Chloe \ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files]
Chloe 2013年

%LOCALAPPDATA%\ Microsoft \ Windows \ WER(路径略短)
Adam Plocher

5

我自己修好了!

我在C:\安全选项中添加了“所有应用程序包”,并给予了完全控制。现在,Metro应用程序可以正常工作。:D

https://dl.dropbox.com/u/3724424/fix.png


14
这会带来什么样的安全隐患?
Feckmore'9

@Traples我不知道。我不会将计算机与其他帐户一起使用/在局域网中使用,因此我认为这不会成为问题。
维罗里奥·罗密欧

5
权限比其他用户帐户和本地网络帐户更多。不同的Windows在不同的帐户下以不同的权限运行。您已经Application Package为C盘上的所有内容授予了所有权限。除了病毒/安全性问题外,如果编写不当的软件包的行为不同,是因为草率的代码依赖于权限来检查它们,该怎么办?如果一个软件包使用一个懒惰的递归删除命令清除了自己,现在删除的数量超过了应该怎么办?
Tanner Faulkner

2
由于安全性的考虑,我强烈建议使用下面介绍的@Kory Sarnelli方法(即仅修改路径的权限 %USERPROFILE%\AppData\Local\Microsoft\Windows\WER
tobsen 2013年

3

以我为例,是Avast。我必须禁用所有防护罩才能使其正常工作。

将Avast更新到最新版本即可解决此问题!


3

我要添加的一件事是,仅需要将“所有应用程序包”角色添加到当前用户的Local \ AppData目录中的“ Packages”目录中(例如C:\ Users \ Vee \ AppData \ Local \包)。这样,您就不会冒着将行为王国的钥匙交给行为不端的Windows应用程序的风险。


1
当我安装Windows 8时,所有应用程序软件包都对“ Packages”目录没有任何权限。您确定它是正确的吗?
2012年

3

如果其他所有方法均无效,请尝试以下操作:我的用户文件夹位于D驱动器HDD上,而我的C驱动器为SSD,因此,如果您没有SSD,请使用C:

All_Application_Packages用户ID 添加到此文件夹:

d:\Users\Brent\AppData\Local\Packages

并赋予其全部功能,但具有完全控制权,可以进行读取,列出,创建,写入等操作。这是使所有我的应用程序回来的窍门。

不要将此用户ID添加到C:\或Windowy文件夹中,因为这只是在给您下载的任何应用程序以对PC内容的无限制访问权带来麻烦。


最好准确地找出抱怨的内容以及原因。只是随意更改权限在以后引起问题。
vonbrand 2013年

@vonbrand,老兄,没有记录此问题,这些应用只是因为无法访问某些文件夹而无法打开。此外,这不是一个随意的更改,它的包含和考虑周全,因为我正在对METRO APPs相关文件夹进行非常具体的ACL更改,以临时修复此问题,直到MS可以为该常见错误提供修复为止。我将添加免责声明:亲爱的,不要对您的C:\或\ Windows进行此更改!
Steelgate

3

该问题在Google中的排名很高,因此这对我有用,而不必像接受的答案那样授予整个系统驱动器的权限

正如Pratyush Nalam提到的那样,sfc /scannow在提升的命令提示符下运行命令。接下来运行chkdsk c: /f,说出y您希望的时间,然后重新启动。

这些命令组合在一起将解决权限和损坏的系统文件的许多问题。


1
sfc /scannow不涉及文件系统权限。
马哈茂德·古德西

@ MahmoudAl-Qudsi,这就是答案的重点...“无需授予整个系统驱动器的权限”
Richard Benson

理查德,那没有道理。在语法上,这意味着它有选择地给予正确的权限,而不是整个驱动器。除非它不这样做。
马哈茂德·古德西

@ MahmoudAl-Qudsi上下文很重要:查看公认的答案,这是一个糟糕的主意,并授予整个系统驱动器的权限。该答案未授予整个系统驱动器的权限...我编辑了答案,以停止投票赞成6年历史的答案的“实际上”旅,以使自己感觉更上乘。
理查德·本森


0

我知道这有点老了,但是最近我遇到了同样的问题。

我的最终解决方案是删除SRUDB.DAT文件,然后让Windows重新创建它。执行此操作后,我的问题完全消失了。


没有这样的文件!注释的长度必须至少为15个字符。
Chloe 2013年

您如何删除此文件..?这样安全吗?该文件一直在使用
shashwat 2013年

-2

尽管我进行了全新安装,但我还是遇到了同样的问题,因为我刚刚购买了一台预装Windows 8的新计算机,所以不必再次刷新安装。

我检查了所有发现的标准提示,但一切都很好。实际上,只有高级应用程序(如游戏或计算器)无法使用,而简单的应用程序(如天气或地图)则可以使用。

我了解到,Metro应用仅在Deskop PC(x86)上具有特殊的访问限制。这就是为什么平板电脑或智能手机不会遇到此问题的原因。

最终只有这个提示对我有用:

将“所有应用程序包”添加到C:\安全选项中,并对其进行完全控制

但是,Metro应用程序不能完全控制系统根目录“ C:\”,因为这会带来很大的安全漏洞,因此我撤消了此更改并开始检查子文件夹。

幸运的是,我检查的第一个子文件夹是“ C:\ Windows”和Bingo!

在仅将“所有应用程序包”组的“读取和执行,列出文件夹内容,读取”权限添加到Windows根文件夹“ C:\ Windows”(与%windir%相同)后,所有Metro应用程序都可以正常运行!

由于实际上每个人都对Windows根文件夹具有此类权限,因此此安全更改完全不重要。

顺便说一句,MS Web上的某个地方说这些权限只能在“ C:\ Windows \ system32”上设置(这是与我一起设置的事实),但这还不够。它必须是整个Windows根文件夹(最初不是由我设置的)。

我希望这对所有几乎都在使用Metro应用程序的人有所帮助:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.