В программе выполняется следующий код
procedure TdmMain.Associate; // Асоциирование файлов форм
var
s: string;
Reg: TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CLASSES_ROOT;
Reg.OpenKey('.form\OpenWithProgids\', true);
{ Reg.WriteString('Client.exe', '');
Reg.OpenKey('\Client.exe\DefaultIcon\', true);
s:= Application.ExeName + ',0';
Reg.WriteString('', s);
Reg.OpenKey('\Client.exe\Shell\Open\', true);
Reg.WriteString('', 'Открыть в Client');
Reg.OpenKey('command\', true);
s:= '"' + Application.ExeName + '" "%1"';
Reg.WriteString('', s);
}
Reg.Free;
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
на машине, где собственно ведется разработка ветка HKEY_CLASSES_ROOT.form\OpenWithProgids\ создается без проблем.
Зато на машине пользователя ветка НЕ создается (ошибки возникают только если пытаюсь прописать книть параметр (закометарено))