ERASMUS Posted February 5, 2014 Share Posted February 5, 2014 Merhabalar. Kendi ayarlarımla k-lite kurdurduğum basit autoit dosyasını kullanırken Windows XP'ye nazaran Windows 8'de fazladan bir pencere çıkmakta ve orada takılmakta. Autoit kodlamasını çok fazla bilmediğim için ne yapacağımı şaşırmış durumdayım. Kodları aşağıda yazıyorum: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_icon=..\AutoRun.ico #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** Opt("TrayIconHide", 1) Run('k-lite.exe') _WinWaitActivate("Setup","K-Lite Mega Codec") Send("{ENTER}") _WinWaitActivate("Setup","Installation Mode") Send("{ENTER}") _WinWaitActivate("Setup","Select Components") Send("{ENTER}") _WinWaitActivate("Setup","Additional Tasks") Send("{ENTER}") _WinWaitActivate("Setup","File associations") Send("{DOWN}{DOWN}{SPACE}{ENTER}") _WinWaitActivate("Setup","File associations") Send("{TAB}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{SPACE}") sleep(1000) Send("{ENTER}") _WinWaitActivate("Setup","File associations") Send("{TAB}{SPACE}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{UP}{SPACE}") sleep(1000) Send("{ENTER}") _WinWaitActivate("Setup","Speaker configuratio") Send("{ENTER}") _WinWaitActivate("Setup","Ready to Install") Send("{ENTER}") _WinWaitActivate("Setup","Done") Send("{ENTER}") _WinWaitActivate("Codec Guide","") ProcessClose("iexplore.exe") Run("taskkill /f /im iexplore.exe") Func _WinWaitActivate($title,$text,$timeout=0) WinWait($title,$text,$timeout) If Not WinActive($title,$text) Then WinActivate($title,$text) WinWaitActive($title,$text,$timeout) EndFunc Burada, içinde 'Additional Tasks' geçen pencerenin hemen ardından WindowsXP'de 'File associations' penceresi gelmekteyken, Windows8'de araya 'Hardware Acceleration' geçen bir pencere giriyor. Dolayısıyla, XP'de gayet normal bir şekilde kuruluma devap ederken, 8'de işlem duruyor. Mantıken aklıma kod sistemini IF/ELSE ile kullanılan Windows'a göre ayrı ayrı düzenlemek geliyor. Veya tam o satırdayken gene if/else ile 'Eğer hiç yoktan yere bu pencere çıkarsa, buna da Enter bas, çıkmazsa aşağıdaki satırdan devam et' şeklinde araya kod girebiliyor muyuz? Quote Link to comment Share on other sites More sharing options...
Editor MOTUN Posted February 5, 2014 Editor Share Posted February 5, 2014 (edited) bu şekilde yapsanız olmaz mı ? autoit şart mı :)http://www.packagedeploy.com/packages/deploying-k-lite-codec-pack.html Edited February 5, 2014 by MOTUN Quote Link to comment Share on other sites More sharing options...
ERASMUS Posted February 5, 2014 Author Share Posted February 5, 2014 Bilgisayarcı olduğum için her gün bir kaç makinaya format atıyor ve ardından programlarını kuruyorum. Kurduğum tüm standart programlar kendime has özelleştirmelerle kurulduğu için Autoit'in benim için bu bağlamda önemi çok büyük. :( Mesela winrar kurulumunun sonundaki bir seçenek, herhangi bir dosyayı tıkladığınızda winrar menüsünün nerede olduğunu belirler, biliyorsunuz. Veya USB Disk Security'nin son versiyonunda bir uncheck yapmazsam tüm browser'ların ana sayfaları değişir. Silent kurulumlar bu açıdan hiçbir işime yaramadığı için kendi kurulumlarımı makro gibi kaydederek kullanıyorum Autoit'i. Quote Link to comment Share on other sites More sharing options...
Editor MOTUN Posted February 5, 2014 Editor Share Posted February 5, 2014 (edited) konuda k-lite yi özelleştirmeyi anlatıyor zaten.. tüm sistemlerde doğru çalışır. yine de siz bilirsiniz siz bilirsiniz Edited February 5, 2014 by MOTUN Quote Link to comment Share on other sites More sharing options...
Administrator sk8er_boi Posted February 5, 2014 Administrator Share Posted February 5, 2014 Linkteki konuyu okumamışsınız. -MakeUnattended parametresi ile, istenen bileşenleri kurmayı sağlayan konfigürasyon dosyası oluşturuyor. Sonra bu konfigürasyon dosyasını kullanarak kurulumları yapıyorsunuz. Quote Link to comment Share on other sites More sharing options...
ERASMUS Posted February 5, 2014 Author Share Posted February 5, 2014 Sanırım autoit ile araya 3 satır girmek çok daha zor ki beni farklı bir sisteme yönlendiriyorsunuz. Anlatmaya çalıştığım, ben tüm kurulumlarımı göz önünde ve autoit ile yaptığım. Bu sadece k-lite programı ile ilgili bir şey değil. Yukarıda da bahsettiğim gibi, USB Disk Security, Winrar, hatta Winamp, BS.PLayer daha saymayı unuttuğum tüm programları bu yöntemle, açık, karşımda yaptığı işlemi görerek kuruyorum. Autoit sayesinde sadece kuruluma müdahale etmiyorum. Anlaşılan WPI'a ikinci bir seçenek ekleyeceğim. * K-Lite (XP için) * K-Lite (W7 & W8 için) diye. Ki sizlere sormam, sadece bunu yapmak istemediğim içindi. Cevabınıza göre diğer Autoit kurulumlarında da faydalı olacak bir -araya if/else kodu girişi- olacaktı. Bahsetmiş olduğunuz link'i inceleyeceğim. Fakat Autoit ile çözümünü de görmek isterdim doğrusu. Çünkü amacım sadece k-lite için değil, makrolaştırdığım tüm işlemlerde karşılaşabileceğim bir sorunu ortadan kaldırmaktı. İlginizden dolayı teşekkür ederim. Quote Link to comment Share on other sites More sharing options...
luger Posted February 5, 2014 Share Posted February 5, 2014 (edited) @Erasmus: Autoit'in @OSVersion özelliğini kullan ve farklı sistemleri tanıyıp ona göre kod akışını değiştirmeyi sağla. Bu güzel çözüm olur :) Edited February 5, 2014 by luger Quote Link to comment Share on other sites More sharing options...
Administrator sk8er_boi Posted February 5, 2014 Administrator Share Posted February 5, 2014 Sanırım autoit ile araya 3 satır girmek çok daha zor ki beni farklı bir sisteme yönlendiriyorsunuz. Anlatmaya çalıştığım, ben tüm kurulumlarımı göz önünde ve autoit ile yaptığım. Bu sadece k-lite programı ile ilgili bir şey değil. Yukarıda da bahsettiğim gibi, USB Disk Security, Winrar, hatta Winamp, BS.PLayer daha saymayı unuttuğum tüm programları bu yöntemle, açık, karşımda yaptığı işlemi görerek kuruyorum. Autoit sayesinde sadece kuruluma müdahale etmiyorum. Anlaşılan WPI'a ikinci bir seçenek ekleyeceğim. * K-Lite (XP için) * K-Lite (W7 & W8 için) diye. Ki sizlere sormam, sadece bunu yapmak istemediğim içindi. Cevabınıza göre diğer Autoit kurulumlarında da faydalı olacak bir -araya if/else kodu girişi- olacaktı. Bahsetmiş olduğunuz link'i inceleyeceğim. Fakat Autoit ile çözümünü de görmek isterdim doğrusu. Çünkü amacım sadece k-lite için değil, makrolaştırdığım tüm işlemlerde karşılaşabileceğim bir sorunu ortadan kaldırmaktı. İlginizden dolayı teşekkür ederim. Zamanında yüzlerce katılımsız kurulum hazırladım fakat Autoit ile tuş bastırma yöntemi ile yaptığım %10'u geçmez. Yine de soruna cevap değil biliyorum fakat istediğin şekilde kurulum yaptırmak için autoit kullanmak zorunda değilsin. Repack veya parametreler çoğu zaman daha iyi sonuçlar veriyor. Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted February 5, 2014 Share Posted February 5, 2014 (edited) _WinWaitActivate("Setup","Additional Tasks") Send("{ENTER}") If @OSVersion = "WIN_XP" Then _WinWaitActivate("Setup","deneme") Send("{ENTER}") EndIf bu şekilde deneyebilirsiniz. Edit : Bu arada send yerine controlcommand kullanman daha sağlıklı sonuçlar verecektir. Edited February 5, 2014 by DivaneTR Quote Link to comment Share on other sites More sharing options...
ERASMUS Posted February 6, 2014 Author Share Posted February 6, 2014 Arkadaşlar vermiş olduğunuz ipuçları için çok teşekkürler.. _WinWaitActivate("Setup","Additional Tasks") Send("{ENTER}") If @OSVersion = "WIN_81" OR @OSVersion = "WIN_8" OR @OSVersion = "WIN_7" OR @OSVersion = "WIN_VISTA" Then _WinWaitActivate("Setup","Hardware Acceleration") Send("{ENTER}") EndIf _WinWaitActivate("Setup","File associations") Araya girdiğim If @OSVersion döngüsüyle sorunumu hallettim. İleriki dönemlerde de Autoit'le hiç uğraşmayıp, direkt -MakeUnattended sistemine geçeceğim. Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted February 6, 2014 Share Posted February 6, 2014 If @OSVersion <> "WIN_XP" Then _WinWaitActivate("Setup","Hardware Acceleration") Send("{ENTER}") EndIf bu kadar yazsan yeterdi :) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.