#c# #cmd #jscript #wsh
#c# #cmd #jscript #wsh
Вопрос:
Я запускаю тестовый файл.cmd из C # exe, создав систему.Диагностика.Процесс.
Test.cmd запускает файл JScript с помощью командной строки Windows Scripting Host, как показано ниже
C:myfolder>CScript.exe //Nologo testxml.js
testxml.js is running on localhost
==== Begin regenerating Xml ====
Invalid root in registry key "HKCRCLSID{5D1D2C1E-F343-10D2-93B4-00902710D4AD}
LocalServer32\".
Failed to regenerate Xml for transaction
Но ключ действительно существует в реестре. Я могу изучить его и изменить вручную.
Я попытался изменить разрешения для раздела реестра, но бесполезно.
Пожалуйста, помогите мне, как устранить эту ошибку.
Я использую компьютер с Windows 10 x64.
ниже приведен код моего test.cmd
@echo off
Cscript.exe //B
goto start
:start
@echo on
CScript.exe //Nologo testxml.js
:end
@echo off
Комментарии:
1. Этот раздел реестра создан в js? Если это так, пожалуйста, покажите, как это сделать.
2. Нет. Раздел реестра был ключом установленного продукта из install shield.
3. Еще одна вещь, которую забыл упомянуть, когда я запускаю файл cmd вручную из командной строки, он работает нормально. Только когда я запускаю cmd-файл из процесса C #, я получаю сообщение об ошибке.
4.
CLSID
Ключ является производным отHKEY_CLASSES_ROOT
64-битного и 32-битного и отличается друг от друга. Вы уверены, что C # выполняет правильный процесс разрядности?5. Я создал exe-файл в режиме выпуска, выбрав «Любой процессор» в качестве целевой платформы. Надеюсь, это должно быть хорошо как с 32-разрядной, так и с 64-разрядной версией