Невозможно удалить каталог, когда ярлык "Start In" указывает на этот каталог
У меня есть приложение, которое автоматически обновляет другие приложения. Текущий процесс состоит в том, чтобы удалить старые файлы сборки из места установки и затем переместить обновленные файлы сборки в место установки. Затем создается ярлык и помещается в папку "Пуск".
Внезапно он начал вызывать ошибку при попытке удалить старый каталог, содержащий файлы сборки. Было бы сказать, что другой процесс использует это местоположение. По какой-то причине эта ошибка возникает только тогда, когда я запускаю автообновление при первом запуске обновляемого приложения (если пользователь согласен продолжить обновление приложения, приложение закроется и начнется процесс обновления). Если я запускаю приложение setup.exe, которое устанавливает приложение, оно завершается без проблем, только эта проблема связана с автоматическим обновлением.
Я определил, что проблема связана с тем фактом, что у меня есть каталог, который я пытаюсь удалить, в качестве значения "Начать с" для ярлыка "Пуск" в меню, которое у меня есть для приложения. Если я удалю это значение, приложение обновится без проблем. Со значением in я получу сообщение об ошибке, говорящее, что каталог в настоящее время используется другим процессом.
Я пробовал сценарий, в котором я удаляю ярлык, прежде чем пытаться удалить каталог установки, но я все еще получаю ошибку. Это не имеет никакого смысла. Единственный способ решить эту проблему - удалить значение местоположения Start In. Однако я хотел бы, чтобы это значение присутствовало в качестве меры предосторожности для запускаемого приложения, чтобы оно не пыталось получить доступ к файлам из местоположения ярлыка.
Любые идеи, как это исправить?