Содержание
- Причины появления ошибки cmd.exe
- Способ 1: Смена учетной записи
- Способ 2: Чистка автозагрузки
- Способ 3: Удаление NVIDIA GeForce Experience
- Способ 4: Обновление драйверов
- Способ 5: Обновление библиотек Microsoft
- Способ 6: Проверка ПК на вирусы
- Способ 7: Проверка системных файлов
- Способ 8: Очистка Windows от мусора
- Способ 9: Отключение или удаление антивируса
- Способ 10: Проверка установки системных обновлений
- Способ 11: Восстановление системы
- Способ 12: Переустановка ОС
- Вопросы и ответы
При попытке открыть командную строку пользователи Windows могут столкнуться с ошибкой запуска приложения. Эта ситуация не совсем стандартна, поэтому даже опытные пользователи не сразу могут обнаружить причины ее возникновения. В этой статье мы разберем, что могло послужить появлению данной проблемы и расскажем, как восстановить работу cmd.
Окно с ошибкой может появиться вследствие разных причин, часть из которых банальна и легко устраняема. Это ошибки, возникшие после некорректного завершения работы, обновления системы, вирусной атаки, неправильного функционирования антивируса. Более редкие случаи носят индивидуальный характер и сгруппировать их не представляется возможным.
Далее мы разберемся, как решить возникшую проблему запуска cmd.exe, начиная от простых методов и заканчивая сложными.
Настоятельно не рекомендуем скачивать файл cmd.exe в интернете. В подавляющем большинстве подобные файлы заражены вирусом и могут нанести операционной системе вред!
Способ 1: Смена учетной записи
Простейшая ситуация, при которой пользователю не удается запустить исполняемое приложение — ограниченные права пользователя. Это касается стандартных учетных записей, которые могут быть настроены администратором. Обычные профили не имеют полного доступа к ПК и запуск любых приложений, включая cmd, для них может быть заблокирован.
Если вы пользуетесь домашним ПК, попросите пользователя с учетной записью администратора разрешить вашей учетной записи запуск cmd. Либо, если имеете доступ ко всем профилям, созданным на компьютере, выполните вход как администратор. Пользователям рабочих ПК с этим вопросом требуется обратиться к системному администратору.
Читайте также:
Как быстро переключиться между учетными записями в Windows 10
Как изменить права учетной записи в Windows 10
Как удалить учетную запись в Windows 7 или Windows 10
Способ 2: Чистка автозагрузки
Обязательно просмотрите список автозагрузки. Возможно, там найдутся программы, которые не должны запускаться. Кроме этого вы можете попробовать поочередно отключать через «Диспетчер задач» запущенные приложения и после каждого раза открывать командную строку. Однако сразу стоит отметить, что такой метод помогает далеко не всегда.
Читайте также: Как открыть автозагрузку в Windows XP, Windows 7, Windows 8, Windows 10
Способ 3: Удаление NVIDIA GeForce Experience
По отзывам пользователей порой проблему вызывало дополнительное ПО для видеокарты NVIDIA — GeForce Experience. В определенных случаях проблема сохранялась даже после полной (не поверхностной) переустановки. Это не обязательная программа, поэтому многие юзеры могут без труда от нее избавиться.
Подробнее: Как удалить NVIDIA GeForce Experience
Способ 4: Обновление драйверов
Некорректно работающие драйверы — еще одна, пусть и не самая очевидная, причина. Вызвать ошибку cmd может проблемное программное обеспечение разных устройств. В первую очередь выполните обновление драйвера видеокарты.
Довольно часто появлению ошибки способствует проблемный компонент драйвера NVIDIA, поэтому пользователю необходимо выполнить полное удаление, а затем чистую установку.
Подробнее: Как переустановить драйвер видеокарты
Если это не помогло, следует выполнить обновление другого ПО.
Подробнее:
Программы для обновления драйверов
Как обновить драйверы на ПК
Способ 5: Обновление библиотек Microsoft
В Виндовс есть файлы, библиотеки и утилиты, которые активно используются системой и могут по разным причинам повлиять на отказ запуска командной строки. К ним относятся DirectX, .NET Framework, Microsoft Visual C++.
Обновите эти файлы вручную, используя официальный сайт Microsoft. Не скачивайте эти файлы со сторонних ресурсов, так как есть большая вероятность установить в систему вирус.
Подробнее:
Как обновить DirectX
Как обновить .NET Framework
Скачать Microsoft Visual C++
Способ 6: Проверка ПК на вирусы
Вирусы и другое вредоносное ПО, попадая на компьютер пользователя, с легкостью могут заблокировать доступ к командной строке. Тем самым они усложняют пользователю выполнение задач, связанных с восстановлением работы ОС. Вам потребуется провести полное сканирование всех разделов ПК. Используйте для этого установленный антивирус или сканеры.
Читайте также: Борьба с компьютерными вирусами
Способ 7: Проверка системных файлов
За такую проверку отвечает команда, которую требуется запустить через cmd. Поскольку в обычном режиме сделать это невозможно, следует воспользоваться альтернативными методами.
Перед проверкой убедитесь, что запущена служба «Установщик модулей Windows».
- Нажмите Win+R и введите команду:
services.msc
- Найдите службу «Установщик модулей Windows», нажмите ПКМ и откройте «Свойства».
- Назначьте состояние — «Запустить», тип запуска — «Вручную».
Безопасный режим
- Загрузитесь в безопасном режиме.
Подробнее: Как войти в безопасный режим на Windows XP, Windows 8 или Windows 10
- Попробуйте открыть командную строку. Если она запустилась, впишите команду
sfc /scannow
- Найденные поврежденные компоненты будут восстановлены, вам остается перезагрузиться в обычном режиме и проверить работу cmd.exe.
Среда восстановления системы
Если в безопасном режиме cmd по-прежнему не запускается, следует сделать это из режима восстановления. Используя загрузочную флешку или диск, выполните запуск ПК.
- Нажмите сочетание клавиш Shift+F10 для запуска cmd.
Альтернативный вариант. Во всех современных версиях ОС она открывается одинаково — нажатием на ссылку «Восстановление системы» в нижнем углу слева.
В Windows 7 выберите «Командная строка».
В Windows 10 нажмите на «Поиск и устранение неисправностей».
Затем — «Дополнительные параметры».
Из списка выберите «Командная строка».
- Поочередно прописывайте следующие команды:
diskpart
Запускает приложение DISKPART, работающее с жесткими дисками.
list disk
Выводит список накопителей. Если у вас один HDD с единственным разделом, ввод команды не требуется.
select disk X
X — номер диска. Определить, какой диск является системным в среде восстановления, можно по размеру. Команда выбирает конкретный том для дальнейшей работы с ним.
detail disk
Отображает детали о разделах жесткого диска с их буквами.
Определите букву системного раздела, как и в предыдущем случае, по размеру. Это нужно по той причине, что буква диска здесь и в Виндовс могут отличаться. Затем введите:
exit
Завершает работу с утилитой DISKPART.
- Введите:
sfc /scannow /OFFBOOTDIR=X: /OFFWINDIR=X:windows
X — буква системного раздела.
Если по результатам сканирования Виндовс не смогла обнаружить нарушения целостности, переходите к следующим советам по решению проблемы.
Способ 8: Очистка Windows от мусора
В некоторых случаях временные и другие файлы могут отразиться на работоспособности всей системы. Чаще всего это касается работы реестра — неправильное его функционирование влечет за собой возникновение проблемы с командной строкой. Неполадки с реестром могут возникнуть после неправильного удаления программ, использовавших в своей работе cmd.exe.
Воспользуйтесь встроенными или сторонними инструментами очистки системы от мусора.
Подробнее: Как очистить Windows от мусора
Отдельно уделите внимание чистке реестра. Не забывайте сделать резервные копии.
Подробнее:
Лучшие программы для очистки реестра
Чистка реестра с помощью CCleaner
Восстановление реестра в Windows 7
Способ 9: Отключение или удаление антивируса
Этот метод, на первый взгляд, полностью противоречит одному из предыдущих. На самом же деле, антивирусы нередко становятся причинами возникновения ошибки запуска cmd. Особенно часто с этим сталкиваются пользователи бесплатных защитников. Если у вас есть подозрения, что стабильность работы всей системы нарушает именно антивирус, отключите его.
Если после отключения проблема сохранилась, есть смысл выполнить деинсталляцию программы. Не рекомендуем делать это по стандарту (через «Установку и удаление программ»), так как некоторые файлы могут остаться и продолжить препятствовать работе Виндовс. Выполните полное удаление, желательно, в безопасном режиме.
Подробнее: Как войти в безопасный режим на Windows XP, Windows 8 или Windows 10
На нашем сайте уже есть инструкция по полному удалению популярных антивирусов с ПК.
Подробнее: Удаление антивируса с компьютера
Способ 10: Проверка установки системных обновлений
Отключенные или не до конца установленные системные обновления в некоторых случаях провоцируют нестабильную работу системы. Убедитесь, что ОС исправно установила последние апдейты.
Ранее мы уже рассказывали об обновлении разных версий Виндовс. Ознакомиться со статьями, посвященными этому, вы можете по ссылкам ниже.
Подробнее:
Как обновить Windows XP, Windows 8, Windows 10
Как включить автоматическое обновление в Windows 7
Ручное обновление Windows 7
Если система отказывается обновляться, советуем ознакомиться с рекомендациями, решающими данный вопрос.
Подробнее: Что делать, если не устанавливаются обновления в Windows
Способ 11: Восстановление системы
Возможно, неправильная установка/удаление ПО или действия пользователя напрямую либо косвенно повлияли на запуск командной строки. Проще всего попробовать откатить состояние системы до момента, когда все функционировало нормально. Выберите точку восстановления, на момент создания которой не производились последние апдейты или другие действия, по вашему мнению, спровоцировавшие возникшую неполадку.
Подробнее: Как восстановить Windows XP, Windows 8
Для восстановления других версий Виндовс так же подойдет инструкция по восстановлению Win 8, поскольку принцип работы в этих ОС ничем кардинально не отличается.
Способ 12: Переустановка ОС
Радикальное решение, к которому следует прибегать исключительно в тех ситуациях, когда все остальные советы не помогли. На нашем сайте вы можете ознакомиться со статьей, объединяющей в себе установку разных версий Виндовс.
Обратите внимание, что переустанавливать ее можно двумя вариантами:
- Обновление: установка Windows с сохранением файлов, параметров и приложений — в этом случае все ваши файлы сохранятся в папку Windows.old и вам придется извлекать их оттуда по мере необходимости, а затем удалять ненужные остатки.
- Выборочная: только установка Windows — форматируется весь системный раздел, включая пользовательские файлы. Выбирая этот метод убедитесь, что все ваши пользовательские файлы хранятся либо на другом диске (разделе), либо они вам не нужны.
Подробнее: Как удалить папку Windows.old
Подробнее: Как переустановить Windows
Мы рассмотрели наиболее распространенные способы решения проблемы, связанной с ошибками запуска cmd.exe. В большинстве случае они должны помочь наладить работу командной строки. Если вы по-прежнему не можете запустить интерфейс cmd, обращайтесь за помощью в комментарии.
Error 0xc0000142 is also called Application Error 0xc0000142. Many users report seeing this error when they try accessing any program or application on Windows 10.
Usually, the error occurs when they open games, but some users report seeing it when they open Word documents. Here is a sample case from a user:
“ After installing Windows updates, Error 0xc0000142 appears randomly multiple times an hour. The full text appears as ‘cmd.exe – Application Error. The application was unable to start correctly (0xc0000142). Click OK to close the application’. “
This post guides you through simple solutions to fix error 0xC0000142. Get PC Repair software to solve dozens of system issues with one light and reliable tool.
What Causes Error 0xc0000142?
Error 0xc0000142 mostly occurs on Windows 10, but can also affect lower versions of Windows.
It is not clear what causes error 0xc0000142. However, it often occurs after a Windows update, it might also be caused by corruption or malfunction of the program you’re trying to use.
Other possible causes of the error include:
- Missing system files
- Malware infection
- The program you’re trying to run is out of date
- Incomplete Windows Update patches
- Corrupt registry files
- Full memory
Aside from error 0xc0000142, you might also encounter other application errors, such as the one with code 0xc0000022. The symptoms and the causes of these two application errors are almost the same so you can try the solutions below when you come across either error code.
In most cases, fixing the missing files or other listed items will easily allow you to access the application giving you this error code 0xc0000142.
How to Fix Application Error 0xc0000142?
Before you proceed to the solutions in this guide, you can try the preliminary fixes below:
- Restart the application you were trying to open
- Reboot your PC and open the application/program again and see if the error has been solved
- Disable any third-party antivirus or firewall program on your PC
If the application error involves the Windows Store or Windows Defender, it is highly likely that error code 0x800704ec will also pop up. If this is the case, resolving the underlying problem should be your priority before trying to resolve the current error.
Follow these instructions for a straightforward error 0xc0000142 fix:
Fix #1: Run the Application as an Administrator
Time needed: 3 minutes.
It is possible that running the application as an administrator can help fix the x0xc0000142 error. To set the application to always ask for Administrator permission to open:
- Locate application
Firstly, locate the application you want to open and right-click on it
- Properties
Click Properties
- Compatibility tab
Go to the Compatibility tab
- Check the box
Check the box beside “Run this program as an administrator”
- Apply
Click Apply and then OK
Fix #2: Uninstall Third-Party Antivirus Program(s)
Some antivirus programs are very sensitive and can give false positives that stop the program you are trying to run. If, after disabling the antivirus software, you still see error 0xc0000142, uninstalling it may be the solution.
Note:
Before you uninstall the program, use it to conduct a full system scan. This will help to remove any hidden malware that might be causing the problem.
Fix #3: Start the Computer in Safe Mode to Fix Error 0xc0000142
Stating your system in Safe Mode will shut down every non-essential program or application during the Windows launch.
This will ensure that only the most important programs are running because only the stable drivers will be running. While your PC is in Safe Mode, non-core components are disabled.
If a non-core component is causing the system to display error 0xc0000142 during application launch, Safe Mode will shut it down, and you’ll be able to open your program.
Booting into Safe Mode is also an effective method to stop apps, such as the Yourphone.exe, from loading. You can easily uninstall and delete malicious apps in this environment since third-party software is not allowed to run.
To start your PC on Safe Mode from the Settings:
- Click the Windows Start button and go to Settings.
- Go to Update & Security > Recovery.
- In the Advanced Startup, click on Restart Now.
- After Restarting, go to choose an option and Select Troubleshoot.
- Go to Advanced Options, then Startup Settings > Restart. You might be asked for the Bitlocker Recovery Key. If asked, Enter it and Click on Restart.
- After the Restart, choose the Startup Settings that you want.
Your computer will reboot, presenting you with a menu. After that, select option 4 to Enable Safe Mode or choose option 5 to select Safe Mode with Networking if you’re connected to a Network.
Note:
If you suspect that malware might be hiding in your PC, Safe Mode is the right opportunity to run your anti-malware program and remove the malware that could be causing error 0xc0000142.
It is also the right time to remove or uninstall any recent Windows update that could be causing the error.
Fix #4: Perform a Clean System Boot
A Clean Boot temporarily disables all third-party applications and non-essential Microsoft services so that only basic drivers will run. This will help you find any third-party program or software, which might be responsible for error 0xc0000142.
To perform a Clean Boot:
- Press Win + R.
- Then type
msconfig
and click OK. - Under the General tab, ensure ‘Selective startup’ is checked.
- Under the ‘selective startup’ tab, uncheck ‘Load startup items.’
- Select the Service tab and check the ‘Hide all Microsoft services.’ box
- Click ‘Disable all’ to disable all third-party services.
- On the Startup tab, click ‘Open Task Manager.’
- In the Task Manager, disable all the enabled startup items.
- Click OK, then Restart your PC.
If Clean Boot doesn’t identify any startup process causing the error, then the problem could be related to essential Microsoft services.
Fix #5: Reinstall or Update the program
If the cause of the “The Application was Unable to Start correctly” error (0xc0000142) is because the program is outdated, then you may need to update it to continue using it.
You’ll have to install the most recent version of the application. If the problem persists after updating the application, then completely uninstall the application from your system and then reinstall it.
Fix #6: Run System File Checker (SFC) and DISM Scans on Your PC
Error 0xc0000142 can also occur because of corrupted system files.
The SFC scan will check and fix the corrupted system files to return your computer to normal working condition.
- Right-click the Windows button.
- Then click Command Prompt (Admin) (or Windows PowerShell (Admin)).
- In the command prompt, type
sfc /scannow
and press the Enter key.
- Wait for the SFC process to complete, then restart your device.
The SFC Scan is a powerful tool that can solve error 0xc000012d, error 0xc0000022 and many other Windows Update error codes.
Fix #7: Run the DISM Tool
Before you run DISM, ensure you have a stable internet connection because it may need to download fresh copies to replace corrupted data.
- Press Win + S to open the Windows search box.
- In the search box, type cmd
- Right-click Command Prompt then click Run as Administrator.
- In the Command Prompt window, type (or copy-paste) the following command and press Enter:
DISM /Online /Cleanup-Image /RestoreHealth
When the scan is finished, reboot your PC and check if the issue has been resolved.
Note:
It is essential to run the SFC and DISM scans together. They have different functional approaches regarding fixing corrupt system files and using them together will improve your chances of resolving the issue.
Jun. 24, 2022 / Updated by
Bessie Shaw to
Windows 10
Recently, lots of users encounter the 0xc0000142 error or Cmd error after the Windows 10 upgrade. Windows 10 is never free from various error codes, such as 0x0000003B System_Service_Exception error, 0x0000007b error, error code 0x000000D1, etc. In this case, when you try to launch the Command Prompt or other applications via the cmd.exe, or when you shut down the computer, the 0xc0000142 error message will appear on the screen, which says:
The Application was unable to start correctly (0xc0000142)
What can you do to make the computer work properly again when encountering such cmd error on Windows? Let’s continue the reading.
How to Fix Windows 10 Cmd Error 0xc0000142
To fix the 0xc0000142 error on Windows 10, you could try the top 7 methods below:
Method 1. Run a Virus Scan on the Computer
Virus or malware can result in 0xc0000142 cmd error, so if you have anti-virus program installed on Windows 10, run it and perform a scan to see if there are those troublemakers. If so, try to clean them up in safe mode.
Method 2. Completely Register .dll to Fix Windows 10 Cmd Error 0xc0000142
Run cmd.exe as fast as you can when you enter Window 10 and register .dll completely. Sometimes, this will work for fix the 0xc0000142 application error.
1. When you enter Windows 10, right click on the Start menu and select Command Prompt (Admin).
2. Paste the command line below to the dialog box and hit the Enter:
for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1
Note: Do this as quickly as you can before Windows 10 finishes all the startups loading.
3. Wait for a while until it ends the rolling screen and register .dll completely. Then Restart your PC.
See if you can launch Command Prompt or other applications via cmd.exe now.
Method 3. Remove Programs Installed Recently
0xc0000142 error is related to some programs. If you’ve newly installed some programs, software of applications, try removing them one by one to see if the 0xc0000142 application error still persists.
1. Uninstall Adobe Flash
Some users reported when they uninstalled the Adobe Flash and reinstalled it, the 0xc0000142 error was fixed successfully.
2. Uninstall NVIDIA GeForce Experience
Try to uninstall the Experience, which won’t affect the running of NVIDIA graphics.
3. Check the Drivers
Uninstall and then reinstall drivers you recently updated, for instance, NVIDIA driver, to help fixing the cmd error.
Note: You can use Driver Talent, the one-click driver problems solution, to reinstall all your drivers instantly. Click the Download button below to have one and do a free scan for your computer now.
Download Now
Method 4. Perform a Clean Boot on Windows to Fix 0xc0000142 Error
If the problem still persists when you apply Method 3 above, you can also place the system in Clean Boot and check out the exact programs or services that result in 0xc0000142 cmd error.
For more information about Windows Clean Boot, see: How to Use Windows 10 Clean Boot to Fix PC Errors
Method 5. Modify the Registry
If some programs were not deleted thoroughly, it will also cause the 0xc0000142 error and make the cmd.exe unable to start correctly. You can enter the Registry Editor to clean up the segments.
1. Use Window shortcut keys Win + R to launch Run.
2. Type regedit into the dialog box and hit the key Enter.
3. Go to the following location in the pop-up Registry Editor:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
4. Delete the segments of the programs from the right column.
5. Close the Window and restart the PC to see if this works.
Note: If you are not that technical in computer, it is not recommended to modify the Registry in case serious PC problems occur, like 100% disk usage, mouse and keyboard not working, slow boot issue, etc.
Method 6. Modify Local Group Policy
1. Use Windows Shortcut keys Win + R to launch Run.
2. Type gpedit.msc into the dialog box and press Enter.
3. When the Local Group Policy Editor pops up, expand the entry User Configuration and Administrative Templates. Then highlight the entry System.
4. Navigate to Prevent access to command prompt in the setting menu from the right column, and then right click on it to select Edit.
5. Choose No Configured or Disable.
This will fix the 0xc0000142 cmd error and make the Command Prompt available.
Note: Windows 10 Home edition has no access to the Local Group Policy.
Method 7. Restore or Reinstall Windows 10
If all of the methods above fail to resolve the 0xc0000142 cmd error on your Windows 10, you may consider restoring or reinstalling the Windows. Though it is a trouble for you to do that, it will really kill the headache and release the pain.
1. Restore Windows 10
Open System Properties to check if you’ve create any system restore points before. Or you can use the restore point created by Driver Talent to do this.
For more information about restoring Windows 10, see How to Use System Restore to Fix Windows 10 Issues
2. Reinstall Windows 10
Reinstalling Windows is not easy, and click here to learn how to reinstall Windows 10 and fix the 0xc0000142 application error thoroughly.
Hope this article can help you fix the 0xc0000142 cmd error and make your Command Prompt run properly again. If you have any other Windows 10-related issues, check for the solutions in Windows 10 Issues and Fix section on this site. You can also comment below if you have any questions.
Recommended Download
ExplorerMax |
Driver Talent for Network Card | |||
Smart and advanced file explorer tool for Windows platforms | Download & Install Network Drivers without Internet Connection | |||
30-day Free Trial |
Free Download |
- Remove From My Forums
-
Question
-
Since the update of windows 10 to version 1703 (OS Build 15063.296) the following command typed into cmd.exe:
start «» «cmd.exe /c start /b more.com <nul»
causes error 0xC0000142 (not always but most times).
This breaks some of my installed applications when they want to start other programs.
Answers
-
The problem seems to be fixed with Cumulative Update KB4025342 from July 11 2017!
-
Marked as answer by
asking_man
Wednesday, July 12, 2017 10:34 AM
-
Marked as answer by
All replies
-
Did you mean that exact command the whole line?
If I put;
cmd.exe /c start /b more.com <nul
That give three blank lines (approx.) but does not error. Does this happen on multiple machines for you?
-
The better command line is (the double quotes are important):
start cmd.exe /c «start /b more.com <nul»
you can also use:
start cmd.exe /c «start /b mode.com con»
This happens on all (two) machines I updated to 1703. On 1607 (and Windows 7) machines this works.
more.com is only a placeholder for any program, but since it is provided by Microsoft, I used this.
This currently breaks my Siemens SCADA system from working.
-
Edited by
asking_man
Wednesday, May 10, 2017 9:04 PM
-
Edited by
-
Ok thanks. The start cmd.exe /c «start /b mode.com con» does give the error once in a while. Look for a work-around I would say.
-
Thanks so far.
When I attach windbg to the failed process, I get the following information:
0:000> k
Child-SP RetAddr Call Site
000000c1`7667f328 00007ff9`424301c0 ntdll!NtRaiseHardError+0x14
000000c1`7667f330 00007ff9`4244a4c7 ntdll!LdrpInitializationFailure+0xab968
000000c1`7667f370 00007ff9`423f9b2b ntdll!_LdrpInitialize+0x50987
000000c1`7667f3f0 00007ff9`423f9ade ntdll!LdrpInitialize+0x3b
000000c1`7667f420 00000000`00000000 ntdll!LdrInitializeThunk+0xe
0:000> lm
start end module name
00007ff6`da820000 00007ff6`da82c000 more (deferred)
00007ff9`42380000 00007ff9`4255b000 ntdll (private pdb symbols) d:arsymbolsntdll.pdb41D57AE3B178CDF490C0B78265127E9B1ntdll.pdbUnloaded modules:
00007ff9`3fab0000 00007ff9`3fb5e000 KERNEL32.DLL
00007ff9`3f4f0000 00007ff9`3f739000 KERNELBASE.dll -
-
Edited by
Karen_HuMicrosoft contingent staff
Thursday, May 11, 2017 6:10 AM
-
Edited by
-
Hi,
I’ve checked the syntax, and it seems ok for me.
The stuff with the command line is already a deep analysis of how my SCADA system is starting its child processes and reduces the things to the main problem.
Here is a snipped from a little C++ program I’ve written to reproduce the error:
STARTUPINFOW si; PROCESS_INFORMATION pi; memset(&si, 0, sizeof si); si.cb = sizeof si; wchar_t* pszCmd = L"cmd.exe /c start /b mode.com con"; BOOL isSuccess = CreateProcessW((wchar_t*)0, pszCmd, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
This works on Windows 7 and Windows 10 1607 but on Windows 10 1703 I get error 0xC0000142. Our Siemens SCADA Software is currently not working on Windows 10 1703 because it cannot start its child processes.
-
The 0xC0000142 maps to STATUS_DLL_INIT_FAILED, and the cmd error code 9059.
More interestingly,
C:UsersAdmin>start "" "%comspec% /c start /b more.com <nul"
results in
[Window Title]
C:WINDOWSsystem32cmd.exe /c start /b more.com <nul[Content]
Windows cannot find ‘C:WINDOWSsystem32cmd.exe /c start /b more.com <nul’. Make sure you typed the name correctly, and then try again.[OK]
But only because of the missing closing parenthesis.Incorrect
C:UsersAdmin>start "" "%comspec% /c start /b more.com <nul"
Your example misses the second parenthesis.
Correct
C:UsersAdmin>start "" "%comspec%" /c start /b more.com <nul"
C:UsersAdmin>start "" "C:windowssystem32cmd.exe" /c start /b more.com <nul"
either works fine, or throws 0xC0000142 for ‘more’/’mode’.
—————————
mode.com — Application Error
—————————
The application was unable to start correctly (0xc0000142). Click OK to close the application.
—————————
OK
—————————Temporary solution, it seems, would be to specify the direct path to the cmd interpreter and to use quotes for cmd. Moreover, once you specify the full path, all subsequent commands in the same cmd session can be run directly by using %comspec%
or cmd.exe without having to provide the full path.
Well this is the world we live in And these are the hands we’re given…
-
Edited by
Exotic Hadron
Thursday, May 11, 2017 9:54 AM
-
Edited by
-
You have an additional quote in the second command line at column 38, if you add this quote to your first given command line the behavior is the same.
The first command line I have given at the thread start [start «» «cmd.exe /c start /b more.com <nul»] was incorrect. It must be [start «» «cmd /c start /b more.com <nul»]. Please use the better command line from
my first reply [start cmd.exe /c «start /b more.com <nul»]. The problem is not to get the command line running — it is the third party software, that uses such child process creating methods. -
You have an additional quote in the second command line at column 38, if you add this quote to your first given command line the behavior is the same.
The first command line I have given at the thread start [start «» «cmd.exe /c start /b more.com <nul»] was incorrect. It must be [start «» «cmd /c start /b more.com <nul»]. Please use the better command line from
my first reply [start cmd.exe /c «start /b more.com <nul»]. The problem is not to get the command line running — it is the third party software, that uses such child process creating methods.Why are you using this syntax while invoking external application:
start "" "command <params>"
instead of using
start "" "command" <params>"
Also, the terminating quote does not seem to play any role since you are terminating with the NUL device. Both commands work fine to me:
C:UsersAdmin>start "" "cmd" /c start notepad <nul" C:UsersAdmin>start "" "cmd" /c start notepad <nul
Well this is the world we live in And these are the hands we’re given…
-
The command lines are only for reproduction of the problem that exists in our third party software in compiled binary form. Up to now this software works fine but fails on Windows 10 Version 1703.
-
Initially, you’ve stated that
«more.com is only a placeholder for any program, but since it is provided by Microsoft, I used this.»
so I thought you are expecting issues specifically with ‘start’ and not with CreateProcess().
Well this is the world we live in And these are the hands we’re given…
-
The command lines are only for reproduction of the problem that exists in our third party software in compiled binary form. Up to now this software works fine but fails on Windows 10 Version 1703.
Could
this be your case?
Well this is the world we live in And these are the hands we’re given…
-
Sorry, no. The problem is that it was working on Windows 7 and Windows 10 Version 1607 and on Windows 10 Version 1703 it’s not working.
-
Hi,
Based on the test result, it’s indeed like what you said.
Please submit this feedback via the built-in Feedback App. And I will also submit it via our own channel.
Hope it would be fixed soon.
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact
tnmff@microsoft.com. -
Hi, Thanks for your answer.
I’ve submitted the problem using «Feedback Hub».
-
What are the odds you got any feedback to you feedback??
We’ve got an app that spawns a console app and had utilized the AllocConsole() API prior to the CreateProcess() call in the parent process.
Exactly the same thing is happening to us on the machines that updated to creators.
I can also utilize you start /b methodology to get the same effect..This had worked for years, think it had something to do with io redirecting for logging at the time..
Simply removing that AllocConsole() / FreeConsole() pair got our stuff going again..
Though I need to work through the repercussions of that..If you’ve got anymore insight that’d be great.
-
I’ve got no comment on my feedback on «Feedback Hub» yet,
and I have not the possibility to modify my third party (Siemens) software to get it running again — like you — and sorry I haven’t any more details for you. It had worked all the times up to creators update. I think I’ve to wait til Microsoft fixes it or
Siemens has a workaround for it. By the way «start /b» is used by the software to create detached processes.Here’s the story I’ve posted on «Feedback Hub»:
Title: Child processes created with the command «cmd /c start /b» and the flags CREATE_NO_WINDOW or CREATE_NEW_CONSOLE failed to start with error 0xC0000142
Description: My third party SCADA software creates its detached child processes with the command line «cmd /c start /b app.exe». This ends up in an API call to CreateProcess(0, «cmd /c start /b app.exe», 0, 0, FALSE, CREATE_NO_WINDOW,
0, 0, &si, &pi). This can be easily reproduced with the command «start cmd.exe /c start /b mode.com con» in a command window. Since the update to Windows 10 version 1703 (10.0.15063) every newly created process is terminated with error 0xC0000142
so my SCADA software isn’t running anymore.-
Edited by
asking_man
Wednesday, June 21, 2017 5:36 PM
-
Edited by
-
The problem seems to be fixed with Cumulative Update KB4025342 from July 11 2017!
-
Marked as answer by
asking_man
Wednesday, July 12, 2017 10:34 AM
-
Marked as answer by