Univerzální přístup k ukládání nastavení INI typu a / nebo soubory DB na různých počítačích se systémem Windows

hlasů
3

OK, to je pravda vyznání jako první: Možná je to jen mě, ale někdy „osvědčené postupy pro nastavení programu“ na počítačích s Windows, se cítí, jako by to změnilo více než strategií pro přístup k datům Microsoft. Jsem stále běží XP, a někde po cestě jen tak „zamlžil“ o tom, kde MS chtěla, abych být uloženy všechny údaje Moje aplikace je, atd řízené jsem všechny stroje I kódovány, takže je to opravdu nevadilo.

Teď píšu aplikace pro „v divočině“, podporující Win98SE nahoru. Musím znovu dávat pozor na to všechno. : - \

Z důvodů, mají co do činění s většinou snadnou migraci do nových počítačů, nejsem velký fanoušek pomocí registru pro nastavení aplikace - Dávám přednost pomocí INI soubory, a některé starší součásti INI, které používám pro daný úkol (Raize, obvykle). Jsem otevřen návrhům na dalších komponent třetích stran, pokud budou tuto jednodušší / méně potíží.

V podstatě, musím uložit nastavení aplikace (například zapamatování nastavení možností a podobně).

Četl jsem: Registry vs. INI souboru pro ukládání uživatelsky konfigurovatelné nastavení aplikace
, kam chcete uložit nastavení programu namísto HKEY_LOCAL_MACHINE?
Tam, kde by se můj win32 programu udržet své soubory?
Nejlepší místo pro ukládání konfiguračních souborů a log soubory na Windows na můj program?

... tak aspoň nejsem sám v této otázce ...; )
(W / omluvu pro to, co je poněkud opakované otázky, i když z poněkud jiného úhlu).

Zní to, jako bych stačí použít% AppData% / MyProgram a uložit všechna data tam, ALE je to univerzálně platné ve všech příchutích Windows od Win98SE na up? Pokud ne, co je nejlepší přístup, a když se to přístup vstoupil do existence?

Co jsem opravdu hledají, upřímně řečeno, je nejjednodušší způsob, jak tento problém jít pryč - Chci jen jeden (pokud je to možné), jednoduchý, snadný a spolehlivý způsob, jak chytit „datové složky Můj program je“ v jakýchkoli a všech případech , Bude výše dokázat, že?

Položena 28/03/2009 v 02:34
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
5

Zamiřte na Tvorba programů Delphi Vista Ready a přejděte do dolní části pro: „Kde ukládat data aplikace“

Funkce GetRoamingUserAppDataPath: string; // funguje tak dlouho, jak lidé mají alespoň IE 4. (a Win95 nebo lepší)

Odpovězeno 28/03/2009 v 03:46
zdroj uživatelem

hlasů
3

% APPDATA% nezdá být přítomen na Win95. Chtěl bych použít SHGetSpecialFolderPath který je dostupný na Win98 nebo Win95 w / IE4.

Odpovězeno 28/03/2009 v 02:53
zdroj uživatelem

hlasů
2

Odpovědi vám dostali tak daleko, tak dobrý, ale myslím, že jste míchání věci ve vaší otázce, které nepatří k sobě, takže to není možné zcela odpovědět na vaši otázku.

Váš titul otázka stavy

Nastavení INI typu a / nebo soubory DB

a ty mohou být dvě zcela odlišné věci. Budete muset rozlišovat mezi soubory, které jsou pro jednotlivé uživatele, soubory, které jsou společné pro všechny uživatele, ale pouze ke čtení, a společných souborů, že každý uživatel by měl být schopen pracovat s.

První kategorie je jednoduché, použijte vhodný adresář pod jedním z CSIDL_APPDATA nebo CSIDL_PERSONAL složek.

Druhá kategorie je také snadné, stačí soubory musí být nainstalovány na správné místo pomocí instalačního programu, který musí být spuštěn s příslušnými oprávněními, protože standard (omezený počet), uživatelé nebudou moci zapisovat do správných místech.

Poslední kategorie je však obtížné, protože tam prostě není adresář ve všech instalacích Windows, které lze předpokládat, že je zapisovatelný pro všechny uživatele. A to zejména v obchodním prostředím s uzamčeném uživatelských účtů je možné, že uživatel nemá oprávnění k zápisu pro lokální disk vůbec, jen aby se jejich uživatelské adresáře někde na serveru v síti. Takže není jediný jednoduchý způsob, jak chytit, že údaje o poloze vašeho programu a být jisti, že to bude fungovat - to je něco, co bude možná muset vrátit pro všechny programy a všechny případy použití znovu.

Za bonusové body, měli byste také vždy zvážit, zda se soubory by měly jít do cestovního profilu a musí být k dispozici na všech počítačích v doméně, nebo zda jsou specifické pro daný počítač.

Jeden tip bych dát, je odklon od desktop stylu databázových souborů, jako je Paradox nebo přístup k souborům pro aplikace, které potřebují ke sdílení dat mezi uživateli na stroji. Pouze s reálnými (local), databázové servery budete mít možnost multi-uživatelská data na zamčené-down účtů / strojů.

Odpovězeno 28/03/2009 v 13:35
zdroj uživatelem

hlasů
0

Mám ve zvyku používat XML soubory ve složce% APPDATA% držet svoje nastavení. Opravdu jen proto, že XML je jednodušší než ini pro C #. Bez ohledu na to,% APPDATA% se zdá bezpečné sázku.

Nemohu informovat o tom, zda 98SE podporuje.

Odpovězeno 28/03/2009 v 13:17
zdroj uživatelem

hlasů
0

Nemohu komentovat, zda to funguje na všech verzích, ale rozhodně souhlasím, že soubory INI jsou správnou odpovědí. Když XP řekl, aby používal registr Zkoušel jsem to - pro jeden program. In-house nasazení se ukázalo, že musely být zkopírován z jednoho počítače na druhý nastavení - další aktualizace se vrátil do souborů INI.

Myslím, že celý bit registr byl anti-pirátství míra oni, že chtějí schovávat za osvědčené postupy.

Odpovězeno 28/03/2009 v 02:47
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more