Vista Home'da delphi kodu ile Regedit Yetki ayarlama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
koray36
Üye
Mesajlar: 17
Kayıt: 24 Kas 2005 07:01

Vista Home'da delphi kodu ile Regedit Yetki ayarlama

Mesaj gönderen koray36 »

Arkadaşlar Vista Home'da yeni bir account açmışsanız, bu account admin yetkisinde olsa dahi regedit içerisinde anahtarlara yazma yetkisi verilmemiş oluyor. Regedit'ı açıp herhangi bir anahtarı değiştirmek istediğinizde bu işlemi rahatlıkla yapabiliyorsunuz fakat kod ile değiştirmek istediğinizde yetkiniz olmadığından hata alıyorsunuz. Regedit'ı açıp anahtarın permission ayarlarınızı yaptığınızda bu sorun çözülüyor. Benim istediğim şu bu permission ayarlarını kod ile halledebilmek. Program kullanıcılarının bu işlemi yapması daha doğrusu bunu bizim onlara anlatmamız nerdeyse imkansız. Bu nedenle proje kurulumu yapılır yapılmaz yetkileri ayarlaması gerekiyor. Bu konuda yardımcı olursanız çok sevinirim.
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

bende hafta sonu vista olan bir pc ye program yükledim ama vista bizi hasta etti ben de kullanıcıya söyledim, vistayı iptal edip xp kurdular, sorunu hallettik(!)
koray36
Üye
Mesajlar: 17
Kayıt: 24 Kas 2005 07:01

Mesaj gönderen koray36 »

valla güzel çözüm :) ama biz bunu yapamıyoruz. yaklaşık 20.000 kullanıcımız var. Ve geneli yeni bilgisayarlar alıyorlar işletim sistemleri Vista veriliyor. Bu yüzden çözümü sunmak zorundayız. Araştırmaya devam ediyoruz.
mz
Üye
Mesajlar: 5
Kayıt: 03 Nis 2007 03:08

Mesaj gönderen mz »

Benim de benzer bir problemim var: viewtopic.php?t=20191

Bir türlü çözüm bulamadım. Sizin probleminiz gibi, benim de kullanılarıma "Vista'ya geçmeyin" deme şansım yok.
koray36
Üye
Mesajlar: 17
Kayıt: 24 Kas 2005 07:01

Mesaj gönderen koray36 »

arkadaşlar çözüme 1 adım daha yaklaştım. UAC (User Account Control) disable yaptığımızda problem ortadan kalkıyor. Şimdi UAC'yi kodla nasıl disable yaparım onu araştırıyorum.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Registery'e kaydetdiğiniz ayarları ini dosyalarına kaydırsanız, çözüm olmuyor mu?
neoerhans
Üye
Mesajlar: 19
Kayıt: 10 Ağu 2003 01:48
Konum: Izmir
İletişim:

Mesaj gönderen neoerhans »

s.a.
benimde böyle bir problemim vardı firebird vt kullanıyorum vistaya geçen müşteriler çoğalmaya başlayınca bi entagrasyon yapma vakti gelmişti FreeMan abimiz saolsun yardımıyla halletik onu geriye registery permleri kalmıştı onun içinde uğraşmayın derim sadece vista kullanıcılarına programınızın kurulumu bittikten sonra programınızı sağ tuş Yönetici olarak çalıştırmalarını söylemeniz yeterli, bidaha permlerle ilgili sorunu kalmayacaktır.

Kolay gelsin
Bizler birer atoma benziyoruz ve gün geldiğinde bir ülkeyi dahi yok edebilecek güce sahibiz. Ama gücümüz aklımızın esiri! Bu yüzden Sıyırdınız gene :P

http://www.MindoMs.com
mz
Üye
Mesajlar: 5
Kayıt: 03 Nis 2007 03:08

Mesaj gönderen mz »

ini dosyaları benim sorunumu çözmüyor, çünkü programı windows başlangıcında başlatmanın -bildiğim- tek yolu registry de gerekli yere gerekli değeri yazmak. Daha da kötüsü file association yapamıyorum. Bir dosyaya tıklandığında programımın açılması için yine registry de bir bölüme bazı değerler yazmam lazım.

Bunun normal yollardan bir çözümü olmalı, çünkü Vista üzerinde bu işlemleri sorunsuz yapan programlar var. Gidip biraz daha araştırma yapayım bari.
koray36
Üye
Mesajlar: 17
Kayıt: 24 Kas 2005 07:01

Mesaj gönderen koray36 »

mkysoft ini doyasına yazmak işimi görüyor aslında ama ben sorunu çözmek istiyorum o yüzden uğraştım. Şöyle bir çözüm buldum

UAC'yi disable yaptığınızda sorun ortadan kalkıyor. Fakat bunu kodla yapamıyorsunuz. Kodla yapmaya kalktığınızda yine yetkini yok diyor. O yüzden bende bunu kullanıcılara manuel olarak yaptırıyorum. Kurulum sırasında bakıyorum eğer UAC etkin ise kuruluma hiç başlamayıp kullanıcının karşısına UAC'yi nasıl disable yapacağını açıklayan bir ekran çıkarıyorum. Şimdilik bu şekilde çözüm sağladık gibi ama araştırmalarımız devam ediyor.
mz
Üye
Mesajlar: 5
Kayıt: 03 Nis 2007 03:08

Mesaj gönderen mz »

Ben şöyle bir çözüm geliştirdim: Registry ile ilgili işlemleri yapan ayrı bir programcık oluşturdum. Gerektiğinde bu programı çeşitli parametrelerle çağırıyorum.

Bu programcık için bir de manifest dosyası oluşturdum. Manifest dosyası hata vermeden (ama UAC dan izin isteyerek) registry de değişiklik yapabilmemi sağlıyor.

Ayrı bir programcık yaptım, çünkü aksi takdirde programımın her açılışında UAC dan izin soruyordu. Bu hali ile sadece registry de değişiklik yapan ayarlar değiştirildiğinde izin soruyor. Manifest dosyası kullandım, çünkü doğru içeriğe sahip bir manifest dosyası olmazsa izin falan sormuyor, direkt hata veriyor.

Manifest dosyasının içeriği şuna benziyor:

Kod: Tümünü seç

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="*"
    name="UACAwareApplication"
    type="win32"/> 
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
Bu yöntem benim sorunumu çözüyor, ama mutlaka daha iyi bir yöntem de vardır. Ben daha iyisini bulamadım. Bulan varsa, paylaşırsa memnun olurum.

Saygılar.
alakel
Üye
Mesajlar: 45
Kayıt: 03 Nis 2007 02:42

windows vista

Mesaj gönderen alakel »

merhabalar.
programımda veritabanı olarak paradox kullandım. istool ve inno setup kullanarak setup oluşturdum. windows xp kurulu bilgisayarda çalışıyor. windows vista kurulu bilgisayarda çalışmıyor. çözümü nedir?
Cevapla