Visual Studio Setup Project - Per nastavení registru uživatele

hlasů
16

Snažím se udržet nastavení projektu v Visual Studio 2003(ano, je to starší aplikace). Problém máme v tuto chvíli je, že musíme psát položky registru HKCUpro každého uživatele v počítači. Musejí být v HKCUnikoli HKLMproto, že jsou výchozí uživatelská nastavení, a oni se změní na uživatele. Mám pocit, že

  1. To není možné
  2. To není něco, co instalační program by měl dělat, ale něco, co aplikace by měla být dělal (po tom všem, co se stane, když je vytvořen profil uživatele po instalaci?).

S tím na mysli, stále chci změnit tak málo, jak je to možné v aplikaci, takže moje otázka zní, je možné přidat položky registru pro každého uživatele v Visual Studio 2003nastavení projektu?

A v okamžiku, kdy projekt uvádí pět kořenové registru klíče ( HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERSa User / Machine Hive). Já opravdu nevím nic o Users kořenového klíče, a neviděl uživatel / Machine Úl. Může někdo objasnit mi na tom, co jsou zač? Možná by mohli vyřešit můj problém výše.

Položena 03/08/2008 v 21:35
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
5

Hádám, že proto, že chcete nastavit pro všechny uživatele, že jste na nějakém sdíleném počítači, který je pravděpodobně běží pod doménou?

Zde bude DRAGONS

Řekněme, že Joe a Jane pravidelně přihlášení k počítači, pak bude každý z nich má ‚registry‘.

Budete pak nainstalovat aplikaci, a instalační program bude zaměstnávat obří hacky a odporné věci uvedené položky pod HKCU pro ně.

PAK, bob přijdou spolu a přihlášení (on a další 500 lidí mají účty v doméně, a tak to může dělat). Nikdy tento počítač předtím použit, takže nemá registr. Poprvé, co se přihlásí, windows mu vytvoří jeden, ale nebude mít vaše nastavení.

Vaše aplikace pak spadne nebo nesprávně chová, a bob stěžuje hlasitě o těch mizerný výrobků z raynixon začleněných.

Správná odpověď je prostě nějaké výchozí nastavení v aplikaci, která jim může zapisovat do registru, pokud se nenajde je. To je obecně dobrým zvykem, že aplikace by nikdy neměla záviset na registru, a měly by vytvářet věci tak, jak je potřeba, pro každou položku registru, a to nejen HKCU, stejně

Odpovězeno 03/08/2008 v 22:17
zdroj uživatelem

hlasů
5

Za prvé: Ano, to je něco, co patří do Žádosti o přesném reson jste zadali: Co se stane poté, co jsou vytvořeny nové uživatelské profily? Jistě, pokud používáte domény je možné, že některé věci dát do registru na tvorbu, ale to není opravdu případ použití. Aplikace by měla zkontrolovat, zda existují seetings a použít výchozí nastavení, pokud ne.

Jak již bylo řečeno, je možné změnit další uživatelé klíče přes HKEY_USERS úlu.

Nemám žádné zkušenosti s instalací Visual Studio Project 2003, takže tady je trochu (zcela nesouvisejícího) VBScript kód, který mohl jen aby vám představu o tom, kde hledat:

const HKEY_USERS = &H80000003
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = ""
objReg.EnumKey HKEY_USERS, strKeyPath, arrSubKeys
strKeyPath = "\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing"
For Each subkey In arrSubKeys
    objReg.SetDWORDValue HKEY_USERS, subkey & strKeyPath, "State", 146944
Next

(Kód svolením Jeroen Ritmeijer )

Odpovězeno 03/08/2008 v 21:48
zdroj uživatelem

hlasů
1

Přes to, co článek MSDN říká o Uživatel / Machine úlu, ale nepíše se HKEY_USERS. Spíše se zapisuje do HKCU, pokud vyberete jen já a HKLM, pokud vyberete všechny.

Takže moje řešení bude používat uživatel / Machine Úl, a pak v žádosti zkontroluje, zda položky registru v HKCU a pokud ne, zkopíruje z HKLM. Vím, že to asi není nejideálnější způsob, jak to udělat, ale to má nejmenší množství změn.

Odpovězeno 03/08/2008 v 23:34
zdroj uživatelem

hlasů
1

Jsem v půli cesty do svého řešení s touto položkou na webu MSDN (nevím, jak bych to předtím najít).

User / Strojní Hive
Podklíče a hodnoty zadané v rámci tohoto úlu bude nainstalována pod podregistru HKEY_CURRENT_USER, když uživatel zvolí „Just Me“ nebo HKEY_USERS úl nebo když uživatel vybere „Everyone“ během instalace.

Editor registru

Odpovězeno 03/08/2008 v 21:45
zdroj uživatelem

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