Сбой операции копирования при запуске исполняемого файла с использованием ярлыка - PullRequest
0 голосов
/ 30 мая 2010

Я кодировал исполняемый файл C #, который использует xcopy (cmd.exe / Q / D / C xcopy "C: \ _ Depot \ Tools \ CAD \ 2009" "C: \ Apps \ CAD 2009" / E / K / R / Y) для дублирования некоторых файлов.

Если я запускаю .exe, дважды щелкнув по нему, операция xcopy работает каждый раз.

Если я запускаю .exe, дважды щелкнув по ярлыку на .exe, xcopy работает, только если ярлык находится в той же папке, что и .exe.

Я попытался установить текущий каталог в папку исполняемой сборки, но это не поможет.

Значение ярлыка «Начать с:» было в той же папке, что и .exe во всех моих тестах. (Не то чтобы это имело значение - я хочу, чтобы код работал независимо от значения.)

Есть идеи, люди?

Ответы [ 2 ]

2 голосов
/ 30 мая 2010

Ваш код опирается на текущий рабочий каталог. Переформатируйте команду, чтобы она не выполнялась.

Или покажите нам [аргументы], которые вы передаете, мы постараемся помочь.

0 голосов
/ 01 июня 2010

Я разобрался в проблеме. Вместо проводника Windows я использую xplorer2, который запускаю от имени администратора. Когда я открыл ярлык из xplorer2, операция копирования работала. Когда я открыл его с рабочего стола, копия не удалась. Я проверил это, открыв ярлык сначала с реального рабочего стола (сбой), затем с C: \ Users [имя пользователя] \ Desktop \ в xplorer2 (успех). Мой код копирует файлы в ветку Program Files, что Windows, конечно, не разрешает без административного доступа. Извините за путаницу.

...