Приложение Shareware vb.net, упакованное с помощью innosetup, установленное в разных каталогах, создает 2 разных набора приложений
Я создал условно-бесплатное приложение, используя vb.net visual studio 2008 для Windows, и упаковал его с помощью innosetup 5.3.8. Проблема в том, что когда я установил приложение в C:\Program Files\Application, и оно успешно работает (используйте пробный период приложения), я также могу установить приложение еще раз заново с той же настройкой, установив его в другой каталог. например, C:\Program Files\Application new . Приложение в C:\Program Files\Application new не имеет настроек уже установленного.
Куда я пошел не так? Нужно ли мне позаботиться об этом в моем приложении (vb.net) или innosetup. Как позаботиться об уже установленном пути в innosetup или перенести настройки уже установленного приложения на вновь установленный путь, обновив старый.
Я не хочу записывать что-либо в реестр, потому что приложение не требует каких-либо административных разрешений. Если я устанавливаю приложение по тому же пути, оно обновляется, а старые настройки переносятся в этот новый и работает нормально.
1 ответ
Приложения Windows обычно сохраняют свои настройки в реестре под HKEY_CURRENT_USER\Software\YourCompany\YourApp
или как файлы в %APPDATA%\YourCompany\YourApp
, Оба местоположения могут быть записаны без прав администратора, и оба местоположения зависят от пользователя. То есть, если два пользователя используют один и тот же компьютер, оба могут использовать ваше приложение со своими собственными настройками, не влияя на другого пользователя.
Вы никогда не должны сохранять какие-либо настройки в c:\Program Files
, Запись в папку Program Files требует прав администратора. Если ваше приложение не имеет манифеста, тогда может показаться, что запись в Program Files работает. На самом деле происходит то, что файлы, которые вы пишете в папку Program Files, перенаправляются в VirtualStore. Если системный администратор не отключил VirtualStore. Тогда ваше приложение потерпит неудачу.
Если вы хотите, чтобы ваше приложение было устойчивым, оно должно только сохранить настройки в HKEY_CURRENT_USER\Software\YourCompany\YourApp
и / или %APPDATA%\YourCompany\YourApp
, Ваше приложение должно использовать настройки по умолчанию, если в этих местах не было найдено ранее сохраненных настроек.