|
|
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! Раньше пользовался ini файлом, но решил хранить настройки в реестре. Всё работает и сохраняет нормально, только если запускать из самой delphi или из папки куда скомпилился exe. Если скопировать exe на рабочий стол, то настройки не считываются и не сохраняются. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 20:36 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Дело в правах небось. А точней в их отсутствии. Небось без запроса повышеных привелегий в HKLM пишешь? И это.. брось бяку. Не надо писать настройки в реестр. Разве что самые минимальные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 20:47 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
rgreatНе надо писать настройки в реестр.а куда? если у приложения есть штатная процедура удаления, то она не должна оставить мусора нигде. (если он таки остался - чем мусор в реестре страшнее мусора в файловой системе? труднее обнаружить и удалить вручную? вряд ли.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 20:55 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
В любой ос есть так называемый local storage для приложений. Вот туда и писать. Например: TPath.GetCachePath или TPath.GetHomePath ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:12 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
L1GrgreatНе надо писать настройки в реестр.а куда? если у приложения есть штатная процедура удаления, то она не должна оставить мусора нигде. (если он таки остался - чем мусор в реестре страшнее мусора в файловой системе? труднее обнаружить и удалить вручную? вряд ли.)Что можно - на сервер, что нельзя - локально в каталоге с ПО. Так меньше мусора в системе остается. И портабельность не ломается. Я уж не говорю о том что реестр - весьма тормозная вещь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:16 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
В реестр стоит писать только вещи вроде информации пути где установлено ПО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:17 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
X-Cite, а почему туда, а не в реестр?? rgreatлокально в каталоге с ПО.вот это - вряд ли (может прав не хватить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:25 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
L1Gа куда? Да ерунду люди говорят, и аргументов не будет; конечно же - реестр нажо использовать, он для того и создавался. Мы даже тестировали специально, заливая в реестр туеву хучу хлама - на быстродействии заметно не сказалось, разве что сами файлы реестра, естественно, пухнут. Для всего программного комплекса - в HKEY_LOCAL_MACHINE\SOFTWARE\Имя_программного_комплекса Для настроек данного юзера: HKEY_CURRENT_USER\Software\Имя_программного_комплекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:43 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
L1Gвот это - вряд ли (может прав не хватить)Достаточно не ставить ПО в Program Files. Это очень плохое место. Я вот лично его очень не люблю. ;) Но это уже субъективно. Хотя если сильно хочется - можно при инсталяции дать права на запись в файл настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:45 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Фэйтл ЭраДа ерунду люди говорят, и аргументов не будет; конечно же - реестр нажо использовать, он для того и создавался. Мы даже тестировали специально, заливая в реестр туеву хучу хлама - на быстродействии заметно не сказалось, разве что сами файлы реестра, естественно, пухнут.Это все конечно субъективно но реестр у меня ассоциируется с общим холодильником в коммуналке. Та еще помойка. И когда к примеру FAR отказался от хранения данных в реестре и перешел на хранение в локальном файле я был счастлив. Больше не надо было страдать дурью экспрортируя и импортируя настройки из реестра в reg файлы и обратно. Скопировал каталог на другую машину и радуешься тому что ничего не пропало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:49 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
rgreat, я так и написал: "аргументов не будет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:53 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Фэйтл Эраrgreat, я так и написал: "аргументов не будет".Портабельность - не агрумент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:53 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
rgreatФэйтл Эраrgreat, я так и написал: "аргументов не будет".Портабельность - не агрумент? Ты продемонстрировал лишь безграмотность. А твои личные фобии/тараканы - это к врачам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 21:59 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Фэйтл Эра, А, аргументации не будет значит. Ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 22:03 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Реестр не кросплатформенно и притянуто с 90ых. Local storage кросплатформенно и интуитивнее ближе, если конечно не привет из 90ых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 22:16 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
rgreatФэйтл Эраrgreat, я так и написал: "аргументов не будет".Портабельность - не агрумент?Если писать в файл, то никакой портабельности не будет, т.к. его придется хранит в AppData, который лежит хз где. Разницы нет. Должны быть глобальные и локальные настройки. Глобальные устанавливаются один раз при установке с админскими правами (в LOCAL_MACHINE или инифайл возле exe, дальше они только для чтения), и локальные (в CURRENT_USER или в локальной папке пользователя). Где именно - вообще не важно. Единственный вменяемый аргумент - гипотетически возможная кроссплатформа, под которой реестра нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 22:43 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
rgreatДостаточно не ставить ПО в Program Files.Если ты не админ и тебе не дали прав на папку программы (не обязательно пф) - то доступ будет только в AppData. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 22:45 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
X-CiteРеестр не кросплатформенно и притянуто с 90ых. Local storage кросплатформенно и интуитивнее ближе, если конечно не привет из 90ых.Мне нравится. Он уменьшает кол-во файлов. Плюс все настройки в одном месте. Мне удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 22:46 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Скажите, какие права нужны и как их выдать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 23:07 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
rgreat, мне нужно писать в реестр по нескольким причинам. Моя программа содержит в себе ресурсы, и находится программа будет на раб. столе... Это 1 exe без посторонних файлов. В программе несколько edit, checkbox и пара строковых переменных. Не хочу создавать где-либо ini, так как в edit`ах возможны символы, которые ini отображает как знаки вопроса. С реестром всё в норме. Но как и говорил, при копировании допустим на раб стол exe, данные не читаются и не записываются. О каких правах идёт речь? Что конкретно нужно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 23:15 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Tech N9ne, в какую ветку пишешь ? GetLastError что говорит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 23:19 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Tech N9neСкажите, какие права нужны и как их выдать? У тебя что-то с путем к ини-файлу просто стало. Ты уверен, что его тоже "перенесли" на рабочий стол? Если да - значит обращаешься к нему неверно. Перед обращением выведи путь к файлу в MessageBox и посмотри. Права?... Если ты хочешь прав на запись в LOCAL_MACHINE, то они как бы есть, но он виртуализируется (после перезапуска изменения умрут). Можешь попробовать попытаться отключить виртуализацию. Если не поможет - значит прав уже и не хватит. Попробуй для этого что-то вроде такого: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 23:29 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Забыл, тут глоб переменная еще нужна Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 23:30 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
YuRockЗабыл, тут глоб переменная еще нужна Код: pascal 1. 2. я попробовал, это не помогло.. Оказывается нужно с правами админа запускать программу..))) Ну, хоть дал повод людям подебатить ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2019, 00:38 |
|
||
|
Не записываются данные в реестр, если скопировать exe
|
|||
|---|---|---|---|
|
#18+
Tech N9nergreat, мне нужно писать в реестр по нескольким причинам. Моя программа содержит в себе ресурсы, и находится программа будет на раб. столе... Это 1 exe без посторонних файлов. В программе несколько edit, checkbox и пара строковых переменных. EXE-шники на рабочем столе - так себе практика я бы сказал. Не ясно чем тебя не устраивает ярлык на папку с ПО, ну да хозяин-барин. Не хочу создавать где-либо ini, так как в edit`ах возможны символы, которые ini отображает как знаки вопроса. Ну проблема-то тут явно не в ini файле а в неумении с ним работать. Если сделать ini юникодным - проблема пропадет. С реестром всё в норме. Но как и говорил, при копировании допустим на раб стол exe, данные не читаются и не записываются. Ты прямо как комсомолец Узбекистана. Героически решаешь проблемы, которые сам себе создаешь. Ну да ладно. Хочешь реестр - пиши в реестр. Но без расширенных прав у тебя будет доступ только к ветке HKEY_CURRENT_USER. Вот туда и пиши. HKEY_CURRENT_USER\Software\НазваниеТвоейПрограммы О каких правах идёт речь? Что конкретно нужно сделать?О правах пользователя windows. Обычный юзер может делать далеко не все. Да и админу понаделали ограничений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2019, 00:38 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39779022&tid=2039751]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 471ms |

| 0 / 0 |
