2016-02-22 2 views
0

Я хотел бы переместить текущую исполняемую сборку на диск C. Когда я пытаюсь следующий код:Переместить текущий исполняемый файл C#

File.Move(Assembly.GetEntryAssembly().Location, @"c\"); 

он дает мне ошибку:

An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll

Можно ли это исправить?

+0

Вы не можете переместить текущий исполняемый файл, так как система его открытия , – Sakura

+0

Вы не можете переместить EXE запущенной программы, но вы можете ее скопировать. – duDE

+0

Какое исключение вы получаете? –

ответ

2

Вы должны предоставить имя для конечного файла:

File.Move(Assembly.GetEntryAssembly().Location, @"c:\xxx\foo.exe"); 

(Напишите на корень C: требуется повышение)

+0

[Протестировано] Я не могу поверить, что это действительно сработало; его скопировал и удалил исходный файл. : O –

+1

Ну ничего не удалено - вы не можете удалить исполняемый исполняемый файл, но перемещение - это просто обновление файловой системы, это не должно мешать работающему изображению. –

+0

хорошо, что имеет смысл. –

Смежные вопросы