katılımsız kurulum

engin çiçek 5 Reputation points
2026-06-14T06:18:34.82+00:00

arkadaşalr ben $oem$ klaöru yaptım bat dosyama wındır çalışmıyor doğal oalrak ne yazayım katılımsız program kurması için format sırasında ortam değişkenı nasıl yazayım

Windows for business | Windows Client for IT Pros | Devices and deployment | Set up upgrades and drivers
0 comments No comments

1 answer

Sort by: Most helpful
  1. Brian Huynh 3,735 Reputation points Microsoft External Staff Moderator
    2026-06-15T03:17:16.0466667+00:00

    Merhaba Engin, Microsoft Q&A topluluğuna gönderi yaptığınız için teşekkür ederiz.

    Bunun temel nedeni, Windows kurulumunun WinPE veya OOBE aşamalarında %windir% veya %ProgramFiles% gibi standart ortam değişkenlerinin henüz tam olarak başlatılmamış olmasıdır. Ayrıca kurulum ortamında sistem X:\ geçici sürücüsü üzerinden çalıştığı için, bu değişkenler asıl hedef sürücüyü (genellikle C:) düzgün şekilde bulamayabilir.

    Windows katılımsız kurulumlarında programları ve betikleri yüklemek için en sağlıklı yöntem SetupComplete.cmd kullanmaktır. Bu dosya, Windows kurulumu tamamlandıktan sonra, ancak kullanıcı masaüstünü görmeden hemen önce en yüksek "SYSTEM" yetkileriyle çalışır.

    Dosyalarınızı $OEM$ yapısı içinde tam olarak şu yola yerleştirmelisiniz:

    $OEM$$$\Setup\Scripts\SetupComplete.cmd

    Betiğinizin (bat) içerisinde %windir% yerine, o anki betiğin kendi bulunduğu klasör yolunu dinamik olarak tanımlayan %~dp0 parametresini kullanmalısınız. Bu parametre, sürücü harfi ne olursa olsun hatasız çalışır.

    Örneğin, SetupComplete.cmd dosyanız ile kuracağınız program aynı klasördeyse betiğinizi şu şekilde yazabilirsiniz:

    @echo off
    start /wait %~dp0programadi.exe /S
    

    Eğer dosyalarınızı $OEM$$1 klasörüne kopyaladıysanız (bu klasör dosyaları hedef işletim sistemi diskinin ana dizinine, yani doğrudan *C:* kök dizinine atar), işletim sisteminin hangi harfte kurulduğundan emin olmak için daha güvenilir olan %SystemDrive% veya %SystemRoot% değişkenlerini kullanmanız gerekir.

    Örneğin:

    @echo off
    start /wait %SystemDrive%\Programlar\programadi.exe /quiet
    

    Bu adımların temeli hakkında daha detaylı bilgi için Microsoft Learn üzerindeki resmi dokümantasyonları inceleyebilirsiniz:

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.