Windows 进程激活服务错误 2:系统找不到指定的文件



我的开发计算机上的IIS停止工作。 我刚刚安装了Windows 10(1803)的最新更新,现在当我尝试启动"Windows进程激活服务"时,我得到"Windows无法在本地计算机上启动Windows进程激活服务"。 错误 2:系统找不到指定的文件"错误。 我已经尝试过的事情:

  • 多次重新安装 IIS 和 Windows 进程激活服务
  • 验证了我确实有一个"C:\inetpub\temp\appPools"文件夹

不知道下一步该怎么做。

我在 Windows 更新后两次遇到过这个问题。问题似乎是,Windows向WAS服务启动参数添加了不正确的参数。我使用以下步骤解决了这个问题:

  • 启动注册表编辑器(只需将其输入到开始)
  • 导航到 HKEY_LOCAL_MACHINE\系统\当前控件集\服务\WAS\参数
  • 删除 NanoSetup 变量。此变量阻止 WAS 启动
  • 使用任务管理器或在命令提示符下键入"net start WAS"来启动WAS服务
  • 以相同的方式启动 W3SVC 服务
  • 您现在可以在 IIS 中再次启动您的网站

我遇到了同样的问题,很长一段时间以来,这里没有什么是我的解决方案。所以我也回滚了窗户。今天我发现解决方案对我有用 - 导航到:

C:\用户\所有用户\应用程序数据\Microsoft\加密\RSA\机器密钥\

找到这 3 个密钥文件...

d6d986f09a1ee04e24c949879fdb506c_*

76944fb33636aeddb9590521c2e8815a_*

6de9cb26d2b98c01ec4e9e8b34824aa2_*

。然后在安全设置中:

  • 首先,您必须将用户设置为所有者

  • 关闭"属性"对话框 - 然后再次打开

  • 然后在ACL
  • 中为系统设置"完全控制"

之后:WPA可以启动...

希望这有帮助;另请参阅此处的线程:https://social.technet.microsoft.com/Forums/en-US/315841e1-b8b2-4084-8224-580ef3d13420/upgrade-to-windows-10-1709-iis-fails?forum=win10itprosetup

安装 Windows 10 1909 更新后我遇到了同样的问题,并且 nanosetup 变量不在注册表中。我最终做了Sascha修复的变体。

我获得了所有权,并让管理员完全控制 C:\ProgramData\Microsoft\Crypto\RSA 中的 MachineKeys 文件夹。然后我删除了机器密钥中的 3 个文件,这些文件以:

d6d986f09a1ee04e24c949879fdb506c_*

76944fb33636aeddb9590521c2e8815a_*

6de9cb26d2b98c01ec4e9e8b34824aa2_*

Windows 进程激活服务 (WAS) 按预期启动。

它只是有一个简单的解决方案,您无需重新安装Windows或删除更新,它对我有用,因此与大家分享,

如果您已经在使用 IIS 并在 C:\windows\system32\inetsrv\config 和 C:\inetpub\wwwroot
  1. 中拥有站点的配置和文件,请备份文件夹 C:\windows\system32\inetsrv\config 和 C:\inetpub\wwwroot 中的所有文件,如果您是第一次安装 ISS,则无需备份。
  2. 在任务栏上,右键单击"开始"按钮选择"运行",键入appwiz.cpl点击Enter.单击"打开或关闭Windows功能"。
  3. 取消选中"互联网信息服务"和"Windows进程激活服务"单击"确定"按钮。
  4. 重新启动Windows后,删除C:驱动器上的"inetpub"文件夹。
  5. 再次打开"打开或关闭窗口功能"。
  6. 选中"互联网信息服务"和"Windows进程激活服务"单击"确定"按钮。
  7. 重新启动Windows后,打开文件夹C:\windows\system32\inetsrv\config。
  8. 右键单击名为"应用程序主机"的文件,选择使用记事本打开。
  9. 在记事本中,复制文件的所有内容。
  10. 在"文件"菜单中选择"新建",然后将所有内容粘贴到新文件中。
  11. 将此文件保存在 C:\windows\system32\inetsrv\config 中,名称为"applicationHost.config.tmp",不要忘记在"保存类型"框中选择"所有文件"。
  12. 否则,文件将被保存为applicationHost.config.tmp.txt这将不起作用。
  13. 在"运行"中键入"Services.msc",在"服务"窗口中找到"Windows 进程激活服务"。
  14. 单击"开始"后,观察成功运行服务,没有任何错误。

我最终不得不放弃并回滚Windows构建。 为此,请按照以下步骤操作:

  • 转到设置 (Windows+I)
  • 点击"更新和安全">
  • 在左侧单击"恢复">
  • 然后在"返回到以前版本的Windows 10"下,单击"获取" 开始了">

它回滚到"1709",现在工作正常。

如果您发现自己在C:以外的驱动器上安装应用程序,并且该应用程序依赖于 IIS,则 inetpub 临时文件的路径可能丢失。即使它们存在于C:上,这可能只会让您误以为它们存在,因此不是问题所在。

创建以下空目录结构,将G:替换为应用程序安装到的驱动器号,而不是C:

G:inetpubtempapppools

然后,从管理员命令提示符启动 WAS:

net start WAS

如果这与 IIS 有关,请从同一提示符重新启动:

IISRESET /restart

这解决了我在安装第三方应用程序时的问题。

更新后我收到了同样的错误,但在 Windows Server 2022 标准 21h2 上。 尝试了所有步骤都没有成功。 在我的情况下,WU 删除了 HKEY_LOCAL_MACHINE\系统\当前控制集\服务\WAS\参数中的所有参数 所以我从旧的 ControlSet002 中获取它:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWASParameters]
"AccessDeniedMessage"="Error: Access is Denied."
"InstallPath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,
00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6e,00,65,00,74,00,
73,00,72,00,76,00,00,00
"MajorVersion"=dword:0000000a
"MinorVersion"=dword:00000000
"ServiceDll"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,
00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6e,00,65,00,74,00,
73,00,72,00,76,00,5c,00,69,00,69,00,73,00,77,00,33,00,61,00,64,00,6d,00,2e,
00,64,00,6c,00,6c,00,00,00
"GenerateKeys"=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWASParametersListenerAdapters]

最新更新