Forum
Selam
Yaşadığım sorunu nasıl anlatabilirim emin değilim. Kısa kısa özetleyeceğim.
Regedit üzerinden sorgulama ve okuma yapmaya çalışıyorum. (HKU ve HKLM üzerinde)
BAT olarak hazırlamış olduğum bir programım var. Dos üzerinden regeditte istediğimi yapamadığım için, VBScript yada PowerShell ile regeditte arama ve doğrulama yapıyorum. Normalde buraya kadar sorun yok. Hem VBScript ile hem de PowerShell ile kusursuz çalışıyor.
Lakin ben bu BAT dosyasını EXE ye dönüştürdüğüm zaman, HKLM üzerinde aradığımı bulamıyor. (HKU üzerinde aradığımı buluyor) Çeşitli yöntemler ile çalıştırmayı denedim, ne zaman exe ile çağırsam aynı sorunu yapıyor.
PowerShell ile regedit çıktısını alıp incelledim. En basitinden BAT dosyası regediti dışa aktardım. HKLM:\software
BAT ile kayıtları dışarı alırsam dosya boyutu 176 mb
Aynı kodu exe ye dönüştürürsem 90mb yer tutuyor.
HKLM neden bunu yapıyor olabilir? Domain olan bilgisayarlarda bu sorunu yaşıyorum. W7 32 bit ve W10 64 bit bilgisayarlarda da denedimtest ettim, sonuç aynı
muhtemelen exe normal user olarak calısıyordur
admın user ıle calısmasını saglarsanız sankı sorun cuzelır gıbı
using System.Security.Principal;
public bool IsUserAdministrator()
{
bool isAdmin;
try
{
WindowsIdentity user = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(user);
isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
}
catch (UnauthorizedAccessException ex)
{
isAdmin = false;
}
catch (Exception ex)
{
isAdmin = false;
}
return isAdmin;
}
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Selam
Evet, dediğiniz gibi, yetkilendirme sorunu yaşıyormuşum.
Verdiğiniz kod bana yabancı geldi. Bana Dos, PowerShell ya da VbScript olarak gerekiyordu.
Regini.exe isimli bir program ile bu yetkilendirmeler ayarlanabiliyormuş ama ben beceremedim 🙂
PowerRun.exe isimli bir uygulama buldum. Bu işimi gördü.
Yardımlarınız için teşekkür ederim.