Я пытаюсь использовать AccessControl plugin в NSIS для установки разрешений в разделе реестра. Это не работает. После запуска установщика группа «Все пользователи» не имеет полного контроля.Что такое эффективный способ предоставления разрешений в раздел реестра с помощью установщика NSIS?
Я создал образец ниже. Здесь что-то не так? Есть ли еще один механизм для достижения того же? Я также попытался использовать numeric form группы Everyone S-1-1-0. Я еще не пробовал использовать «Все».
; Create the key for local machine settings (could be a 32 bit or 64 bit location)
SetRegView 32
WriteRegStr HKLM "SOFTWARE\MyApp" "x" "y"
SetRegView 64
WriteRegStr HKLM "SOFTWARE\MyApp" "x" "y"
; Give all authenticated users (BUILTIN\Users) full access on the registry key HKEY_LOCAL_MACHINE\Software\MyApp
SetRegView 32
AccessControl::GrantOnRegKey HKLM "SOFTWARE\MyApp" "BUILTIN\USERS" "FullAccess"
SetRegView 64
AccessControl::GrantOnRegKey HKLM "SOFTWARE\MyApp" "BUILTIN\USERS" "FullAccess"
Во-первых, я не беспокоился о двух представлениях реестра. Но после экспериментов, пытаясь исключить проблемы с WOW6432Node, я удвоил команды. Надеюсь, это не обязательно.
Работает ли '(S-1-1-0)' на Windows XP? Если нет, есть ли альтернатива XP? – nawfal
@nawfal Строки S должны быть более переносимыми, чем псевдонимы, они содержат необработанные данные SID. – Anders
Я не уверен, эта ссылка http://www.avid-insight.co.uk/2014/01/nsis-access-control-problem-with-built-in-users-group/ allude, что я сказал. Я проверю его сам и дам знать. – nawfal