YAGMURADAM Posted May 27, 2016 Share Posted May 27, 2016 Arkadaşlar bir programı inno setup ile kuruluma hazır hale getirdikten sonra, autoit yardımıyla kurulum arayüzünü yapıyorum. Ben bu autoit koduna ne eklersem kurulan program görev çubuğunda görünecek şekilde açılacak ve 1 saniye içinde geri kapanacak. Örneğin C:\Program Files\KMPlayer\KMPlayer.exe dosyasını kurulum bittikten sonra aç kapa yapacak kod gerekiyor. Nedeninin sormayın. Yardımlarınız için şimdiden teşekkür ederim. Saygılarımla Kullandığım Autoit Kodu Opt("TrayMenuMode",1) TraySetToolTip("KMPlayer Kuruluyor Lütfen Bekleyiniz..") FileInstall("setup.exe",@TempDir & "\setup.exe") TrayTip("KMPlayer Kuruluyor!","Lütfen Bekleyiniz...",1,1) ShellExecuteWait(@TempDir & "\setup.exe","/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-") Sleep(2000) TrayTip("Kurulum Tamamlandı!","Gülegüle kullanın. Saygılarımla",2,1) FileDelete(@TempDir & "\setup.exe") Quote Link to comment Share on other sites More sharing options...
Editor MOTUN Posted May 27, 2016 Editor Share Posted May 27, 2016 (edited) inno setup ile repack yaptığınız programı neden yeniden autoit içine alıyorsunuz? edit: aklımdayken sorayım, neden inno ile paketlerken kurulum sonunda çılşmasını sağlamıyorsunuz merak ettim Edited May 27, 2016 by MOTUN Quote Link to comment Share on other sites More sharing options...
celal sezer Posted May 27, 2016 Share Posted May 27, 2016 (edited) Bir saat önce, YAGMURADAM yazdı: Arkadaşlar bir programı inno setup ile kuruluma hazır hale getirdikten sonra, autoit yardımıyla kurulum arayüzünü yapıyorum. Ben bu autoit koduna ne eklersem kurulan program görev çubuğunda görünecek şekilde açılacak ve 1 saniye içinde geri kapanacak. Örneğin C:\Program Files\KMPlayer\KMPlayer.exe dosyasını kurulum bittikten sonra aç kapa yapacak kod gerekiyor. Nedeninin sormayın. Yardımlarınız için şimdiden teşekkür ederim. Saygılarımla Kullandığım Autoit Kodu Opt("TrayMenuMode",1) TraySetToolTip("KMPlayer Kuruluyor Lütfen Bekleyiniz..") FileInstall("setup.exe",@TempDir & "\setup.exe") TrayTip("KMPlayer Kuruluyor!","Lütfen Bekleyiniz...",1,1) ShellExecuteWait(@TempDir & "\setup.exe","/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-") Sleep(2000) TrayTip("Kurulum Tamamlandı!","Gülegüle kullanın. Saygılarımla",2,1) FileDelete(@TempDir & "\setup.exe") Run('C:\Program Files\KMPlayer\KMPlayer.exe') If WinWaitActive('The KMPlayer') Then ProcessClose('KMPlayer.exe') ;1. Alternatif ProcessWait('KMPlayer.exe') ;2. Alternatif ProcessClose('KMPlayer.exe') Edited May 27, 2016 by celal sezer Quote Link to comment Share on other sites More sharing options...
YAGMURADAM Posted May 27, 2016 Author Share Posted May 27, 2016 celalsezer ilginiz için teşekkür ederim. Tam istediğim gibi. Ellerinize sağlık. Saygılarımla Motun inno setup ile kuruluma hazır hale getirip autoit arayüzünü kullanma sebebim şu; Eğer sistemde 7zipin 9.27 den sonra gelen sürümü yüklüyse setup dosyasını 7z ile arşivleyip ardından oluştur.cmd ile kurulum paketini tamamladığınızda, kurulum paketini tıklyıp kurmak isterseniz unsupported file format gibi bir hata veriyor. Ve son olarak autoit ile kurulum başlayıp sona erdiğini bildirmek istedim. Saygılarımla 1 Quote Link to comment Share on other sites More sharing options...
Mehmet Posted May 27, 2016 Share Posted May 27, 2016 (edited) Bana inno setup ile oluşturduğun km player setup.exe dosyasını gönderebilirmisin veya şunu bir denermisin Opt("TrayMenuMode",1) TraySetToolTip("KMPlayer Kuruluyor Lütfen Bekleyiniz..") FileInstall("setup.exe",@TempDir & "\setup.exe") TrayTip("KMPlayer Kuruluyor!","Lütfen Bekleyiniz...",1,1) ShellExecuteWait(@TempDir & "\setup.exe","/S") If @OSArch = "X86" Then RunWait(@ProgramFilesDir & "\KMPlayer\KMPlayer.exe") Sleep(1000) _ProcessCloseLocation(@ProgramFilesDir & "\KMPlayer") Else RunWait(@HomeDrive & "\Program Files\KMPlayer\KMPlayer.exe") Sleep(1000) _ProcessCloseLocation(@HomeDrive & "\Program Files\KMPlayer") EndIf Sleep(2000) TrayTip("Kurulum Tamamlandı!","Gülegüle kullanın. Saygılarımla",2,1) FileDelete(@TempDir & "\setup.exe") Func _ProcessCloseLocation($BlueGetLoca);blue_life dan bir alıntıdır If StringRight($BlueGetLoca, 1) <> "\" Then $BlueGetLoca &= "\" If FileExists($BlueGetLoca) = 0 Then Return SetError(1, 0, 0) Local $ErrorLacation = "|" & StringLeft(@WindowsDir, 3) & "|" & @WindowsDir & "\|" & @WindowsDir & "\System32\|" If StringInStr($ErrorLacation, "|" & $BlueGetLoca & "|") <> 0 Then Return SetError(1, 0, 0) Local $Process_list = ProcessList() If UBound($Process_list) Then ReDim $Process_list[UBound($Process_list)][5] For $i = 1 To $Process_list[0][0] $Process_list[$i][2] = FileGetLongName(_ProcessGetLocation($Process_list[$i][1])) $Process_list[$i][3] = StringTrimRight($Process_list[$i][2], StringLen($Process_list[$i][0])) If $Process_list[$i][3] = $BlueGetLoca Then $Process_list[$i][4] = ProcessClose($Process_list[$i][1]) EndIf Next EndIf EndFunc ;==>_ProcessCloseLocation Func _ProcessGetLocation($iPID); Programın çalıştığı dizin Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If $aProc[0] = 0 Then Return SetError(1, 0, '') Local $vStruct = DllStructCreate('int[1024]') DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0) Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048) If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '') Return $aReturn[3] EndFunc ;==>_ProcessGetLocation Edited May 27, 2016 by Mehmet 1 Quote Link to comment Share on other sites More sharing options...
YAGMURADAM Posted May 27, 2016 Author Share Posted May 27, 2016 mehmet, sizin verdiğiniz au3 dosyasını denedim. Ama tam katılımsız değil bu. Programın kayıt yerini soran penecre geldi. (C:\Program Files\KMPlayer seçili olarak) Sorunsuz kuruldu. Bilgilerinize. Saygılarımla Quote Link to comment Share on other sites More sharing options...
Mehmet Posted May 27, 2016 Share Posted May 27, 2016 elimde sizin exe dosyanız olmadığından birşey diyemem fakat ShellExecuteWait(@TempDir & "\setup.exe","/S");olan satırı ShellExecuteWait(@TempDir & "\setup.exe","/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-");olarak tekrar değiştirin normalde inno setup ile oluşturulan exe dosyalarını /S parametresi ile katılımsız kurulum yaptırıyoruz ama siz genede /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- ile kurun problemsiz kuruluyorsa çok önemli değil 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.