Я знаю, что данные локального приложения хранятся в заданном месте на диске для моего приложения:
c:\Users\jonathan\AppData\Local\MyCompany\MyApp_In_Question_Url_fhjsu6dhsj673dkncsdhjfdf
Он содержит несколько подпапок, содержащих настройки приложения (user.config), которые обычно имеют форму «6.1.5944.23465».
Мы делаем прямую копию файла по месту установки, и запуск нового исполняемого файла с ярлыка на рабочем столе в первый раз обычно создает новую подпапку той же формы (т.е. 6.1.5966.34567), что требует от нас вызова настроек .Обновление
Пока все хорошо (хотя это, вероятно, не очень хорошая практика).
Недавно я обновил приложение с .NET 3.5 до .NET 4.6.2, и на некоторых машинах оно полностью создает новую папку:
c:\Users\jonathan\AppData\Local\MyCompany\MyApp_In_Question_Url_aaabf35hhsjd4hkwn83kfcm
И новая подпапка вида 6.1.5977.10245.
Это проблема, потому что ярлык на рабочем столе больше не работает, а настройки нельзя обновить и требуют повторного входа конечным пользователем (который не всегда их знает).
Большинство машин (все тестовые и UAT) не демонстрируют такого поведения.
У меня такой вопрос:
Каков механизм принятия решения о том, что параметры исполняемого файла должны храниться в совершенно новом месте, а не во вложенной папке?
Как следствие этого:
Могу ли я установить это так, чтобы это был точно такой же продукт, и настройки можно было бы продолжать обновлять?