Jump to content

Kurulduktan Sonra Programı Açıp/kapatmak


YAGMURADAM
 Share

Recommended Posts

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")

Link to comment
Share on other sites

  • Editor

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 :huh:

Edited by MOTUN
Link to comment
Share on other sites

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 by celal sezer
Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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 by Mehmet
  • Like 1
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...