hadisalahi2
سه شنبه 21 بهمن 1393, 17:17 عصر
سلام
میخوام یک برنامه Uninstall که خودم نوشتم رو به قسمتی که گفتم اضافه کنم.
کلید مربوطه رو توی رجیستری پیدا کردم
مثلا برای یک برنامه :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Windows\CurrentVersion\Uninstall\AdobeCaptivateRev iewer2.5.1
البته برای برنامه های نصب شده 64 بیتی مسیرش متفاوته
به صورت دستی هم کلید ساختم و توی لیست Programs نمایش داده میشه
اما از داخل دلفی و با کد نمیتونم کلید بسازم
اینک کدهایی که نوشتم
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.Access := KEY_ALL_ACCESS; // --> Very Important :)
if Reg.OpenKey
('SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVe rsion\Uninstall\', True)
then
Begin
Reg.CreateKey('Hakim Asrar');
Reg.WriteString('DisplayIcon',
'F:\Windows Project\HakimProject\Forms\New Hakim_93_Ex2\HakimAsrar.exe');
Reg.WriteString('DisplayName', 'حسابداری حکیم اسرار');
Reg.WriteString('InstallLocation',
'F:\Windows Project\HakimProject\Forms\New Hakim_93_Ex2');
Reg.WriteString('UninstallString',
'F:\Windows Project\HakimProject\Forms\New Hakim_93_Ex2\HakimAsrar.exe');
End;
finally
Reg.CloseKey;
Reg.Free;
end;
نه در مسیر 64 بیتی اجازه میده نه 32 بیتی
اصلا اون OpenKey مقدار True برنمیگردونه که بخوام کلید بسازم
به نظرتون مشکل کجاست؟
میخوام یک برنامه Uninstall که خودم نوشتم رو به قسمتی که گفتم اضافه کنم.
کلید مربوطه رو توی رجیستری پیدا کردم
مثلا برای یک برنامه :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Windows\CurrentVersion\Uninstall\AdobeCaptivateRev iewer2.5.1
البته برای برنامه های نصب شده 64 بیتی مسیرش متفاوته
به صورت دستی هم کلید ساختم و توی لیست Programs نمایش داده میشه
اما از داخل دلفی و با کد نمیتونم کلید بسازم
اینک کدهایی که نوشتم
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.Access := KEY_ALL_ACCESS; // --> Very Important :)
if Reg.OpenKey
('SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVe rsion\Uninstall\', True)
then
Begin
Reg.CreateKey('Hakim Asrar');
Reg.WriteString('DisplayIcon',
'F:\Windows Project\HakimProject\Forms\New Hakim_93_Ex2\HakimAsrar.exe');
Reg.WriteString('DisplayName', 'حسابداری حکیم اسرار');
Reg.WriteString('InstallLocation',
'F:\Windows Project\HakimProject\Forms\New Hakim_93_Ex2');
Reg.WriteString('UninstallString',
'F:\Windows Project\HakimProject\Forms\New Hakim_93_Ex2\HakimAsrar.exe');
End;
finally
Reg.CloseKey;
Reg.Free;
end;
نه در مسیر 64 بیتی اجازه میده نه 32 بیتی
اصلا اون OpenKey مقدار True برنمیگردونه که بخوام کلید بسازم
به نظرتون مشکل کجاست؟