Не запускается исполняемый файл при вставке компакт-диска в дисковод компакт-дисков

Файл Autorun.inf не работает для запуска .exe в winforms. Я пишу CD/DVD из функции экспорта в моем коде С#, для которого я использую API, такой как

IMAPI2.Interop;
IMAPI2.MediaItem;

но с помощью этих API я могу писать соответствующие dll и exe внутри CD / DVD, также я добавляю файл Autorun.inf на компакт-диск, но он не запускает exe при вставке компакт-диска в дисковод компакт-дисков.

Autorun.inf

[autorun]
open=Lite\CDWritterApp.exe
icon=Lite\CDWritterApp.exe,0
action=Start ShellRun-CD

person IMMORTAL    schedule 28.02.2014    source источник
comment
Это не "автозапуск"? или это не работает, когда вы нажимаете на него правой кнопкой мыши? автозапуск по умолчанию был отключен из соображений безопасности.   -  person Petesh    schedule 28.02.2014
comment
@Petesh Да, диск не запускается автоматически при вставке диска в дисковод.   -  person IMMORTAL    schedule 04.03.2014


Ответы (1)


Автозапуск может просто быть заблокирован на целевом компьютере. У вас никогда не будет никаких гарантий, что он действительно что-то «запустит автоматически».

Если вы на 100% уверены, что на компьютере не заблокированы автозапуски (т. е. вставьте любой другой CD/DVD с файлом Autorun.inf — они запускаются?), проверьте, действительно ли исполняемые файлы находятся в папке «X:\Lite». папку, где X: — это привод вашего CD/DVD.

Если файлы находятся в нужном месте, вы можете проверить их с помощью ProcessMonitor. чтобы увидеть, действительно ли Windows пытается их выполнить. Установите фильтры ProcMons на «Путь содержит Autorun.inf -> inlude» и «Путь содержит CDWriterApp -> include» и вставьте компакт-диск.

Если ProcMon не показывает, что Autorun.inf читается - ну, это странно, проверьте, действительно ли у вас правильное имя файла, и разблокируйте автозапуски в вашей ОС.

Если ProcMon не показывает, что CDWrterApp читается, или показывает «не найдено» — неправильное имя? неправильный каталог? файл отсутствует?

Если ProcMon показывает, что CDWriterApp читается, и показывает, что новый процесс запускается и тут же существует - вы облажались с приложением, оно запускается, но тут же вылетает.

Конечно, есть еще какие-то варианты и причины, но вы должны уметь их отследить.

person quetzalcoatl    schedule 28.02.2014
comment
Я пробовал все, но так и не смог решить проблему - person IMMORTAL; 04.03.2014
comment
(1) Проверяли ли вы в реестре ключи, отключающие функцию автозапуска? (2) попробуйте вставить диск, затем щелкнуть по нему правой кнопкой мыши и выбрать автозапуск, который должен появиться в контекстном меню компакт-диска — запускается ли тогда приложение? (помните, что вам нужно щелкнуть правой кнопкой мыши на ДИСКЕ, например E:, а не на какой-либо папке внутри) - person quetzalcoatl; 04.03.2014