Запуск rgsvr32 в программных файлах \ myapp кажется неудачным даже при запуске от имени администратора - PullRequest
0 голосов
/ 07 октября 2010

Наше программное обеспечение должно иметь возможность регистрировать OCX во время выполнения. OCX находится в каталоге программных файлов приложения. Я обнаружил, что, если я вручную запускаю строку cmd от имени администратора и запускаю команду, все работает отлично, однако, если я запускаю наше приложение с правами администратора и позволяю приложению попытаться зарегистрировать ocx, произойдет сбой. Я также заметил, что приложение может успешно запускать regsvr32, когда я запускаю его из моего каталога сборки, предположительно потому, что у меня есть каталог сборки. Я все еще должен бежать как администратор все же. У кого-нибудь есть идеи, что может пойти не так?

Спасибо, Брайен

1 Ответ

0 голосов
/ 07 октября 2010

Ответ, во-первых, что я неаккуратный, и, во-вторых, что аргументы командной строки, передаваемые в regsvr32, должны быть заключены в двойные кавычки. Мне никогда не приходило в голову, потому что я написал свой код так:

string args = "/s " + Path.Combine(MP_xxxx_DIR.FullName, MAP_POINT_OCX) ;

когда это должно было выглядеть так:

string args = "/s " + "\"" + Path.Combine(MP_xxxx_DIR.FullName, MAP_POINT_OCX) + "\"";

Надеюсь, это поможет кому-то еще:)

...