Jump to content

.msi Uzantılı Dosyayı Katılımsız Yapma?


whitedeath
 Share

Recommended Posts

Lazım olabilecek tüm kodları en sade hali ile yazdım, kendinize göre değiştirebilirsiniz. Kodlar hakkında sorunuz varsa sorabilirsiniz. Kolay gelsin...

#RequireAdmin
#NoAutoIt3Execute
Opt("TrayMenuMode", 1)
TraySetToolTip("Programınız kuruluyor...")
FileInstall(@DesktopDir & "\dosya.msi", @TempDir & "\dosya.msi")
ShellExecuteWait(@TempDir & "\dosya.msi", "/quiet /norestart")
TraySetToolTip("Kurulum tamamlandı.")
TrayTip("TNCTR.com", "Kurulum tamamlandı!", 20, 4)
Sleep(20000)
Edited by reyiz
Link to comment
Share on other sites

reyiz verdiğin kodları nasıl kullanıcam kısaca açıklayabilirmisin.bide aşağıdaki kodu buldum onu denedim ama uyarı falan çıkıyo ama program kurulmuyo

 

Opt("TrayMenuMode", 1)
TrayTip(".::MeHMeT::.UYARI!", "Yahoo Messenger yüklenirken lütfen bekleyiniz", 30, 4)
Sleep(2000)
Global $Program = _TempFile()
Global $Parametre = "/qn"
FileInstall("Yahoomessenger.msi",$Program)
;~ ;RunWait($Program & " " & $Parametre)
ShellExecuteWait($Program,$Parametre)
FileDelete($Program)
TrayTip("Başarıyla", "Yüklendi", 10,4)
Sleep(2000)
Func _TempFile($s_DirectoryName = @TempDir, $s_FileExtension = ".msi", $s_FilePrefix = "~", $i_RandomLength = 7)
    Local $s_TempName
    If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\"
    Do
        $s_TempName = ""
        While StringLen($s_TempName) < $i_RandomLength
            $s_TempName = $s_TempName & Chr(Random(97, 122, 1))
        WEnd
        $s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
    Until Not FileExists($s_TempName)
    Return ($s_TempName)
EndFunc;==>_TempFile
Link to comment
Share on other sites

#RequireAdmin ; katılımsızı açtığınızda yönetici hakları ister

#NoAutoIt3Execute ; yanlışlıkla bir parametre ile açılırsa hata vermesini önler

Opt("TrayMenuMode", 1) ; katılımsız kurulumun yanlışlıkla görev çubuğundan kapatılmasını engeller

TraySetToolTip("Programınız kuruluyor...") ; görev çubuğunda ki iconun üzerine gelince çıkan yazı

FileInstall(@DesktopDir & "\dosya.msi", @TempDir & "\dosya.msi") ; msi dosyasını katılımsızın içerisine atma, birinci kısım senin bilgisayarın, ikinci kısım açılacak olan bilgisayarda atılacak kısım, @tempdir temp klasörüne atmasını sağlar

ShellExecuteWait(@TempDir & "dosya.msi", "/quiet /norestart") ; msi dosyasını çalıştırır, /quiet yerine /passive yazarsan sadece ilerleme çubuğu gözükür ama katılımsız kurar, /norestart yeniden başlatmayı önler

TraySetToolTip("Kurulum tamamlandı.") ; görev çubuğundaki yazıyı günceller

TrayTip("TNCTR.com", "Kurulum tamamlandı!", 20, 4) ; mesaj çıkartır, 20 yerine 10 yazarsan 10 sn. gözükür fakat alttada 10000 yapman gerekir

Sleep(20000)

Edited by reyiz
Link to comment
Share on other sites


 

Func _TempFile($s_DirectoryName = @TempDir, $s_FileExtension = ".msi", $s_FilePrefix = "~", $i_RandomLength = 7) Local $s_TempName If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\" Do $s_TempName = "" While StringLen($s_TempName) < $i_RandomLength $s_TempName = $s_TempName & Chr(Random(97, 122, 1)) WEnd $s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension Until Not FileExists($s_TempName) Return ($s_TempName) EndFunc;==>_TempFile

 

Fonksiyonda hata olabilir aslını C:\Program Files (x86)\AutoIt3\Include File.au3 içinde bulabilirsiniz..

 

 

 

Func _TempFile($s_DirectoryName = @TempDir, $s_FilePrefix = "~", $s_FileExtension = ".tmp", $i_RandomLength = 7)
; Check parameters
If IsKeyword($s_FilePrefix) Then $s_FilePrefix = "~"
If IsKeyword($s_FileExtension) Then $s_FileExtension = ".tmp"
If IsKeyword($i_RandomLength) Then $i_RandomLength = 7
If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @TempDir ; First reset to default temp dir
If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @ScriptDir ; Still wrong then set to Scriptdir
; add trailing \ for directory name
If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\"
;
Local $s_TempName
Do
$s_TempName = ""
While StringLen($s_TempName) < $i_RandomLength
$s_TempName = $s_TempName & Chr(Random(97, 122, 1))
WEnd
$s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
Until Not FileExists($s_TempName)


Return $s_TempName
EndFunc   ;==>_TempFile

 

Global $Temp_Dosya = _TempFile()


FileInstall("Setup.msi", $Temp_Dosya, 1)


ShellExecuteWait($Temp_Dosya,"/qn /norestart")

 

Edited by FLaky
Link to comment
Share on other sites

 
Lazım olabilecek tüm kodları en sade hali ile yazdım, kendinize göre değiştirebilirsiniz. Kodlar hakkında sorunuz varsa sorabilirsiniz. Kolay gelsin...
#RequireAdmin
#NoAutoIt3Execute
Opt("TrayMenuMode", 1)
TraySetToolTip("Programınız kuruluyor...")
FileInstall(@DesktopDir & "\dosya.msi", @TempDir & "\dosya.msi")
ShellExecuteWait(@TempDir & "dosya.msi", "/quiet /norestart")
TraySetToolTip("Kurulum tamamlandı.")
TrayTip("TNCTR.com", "Kurulum tamamlandı!", 20, 4)
Sleep(20000)
 
 



Size en sade hali ile verdim, kodlar sorunsuz çalışıyor. Siz yanlış kullanıyo olabilirsiniz. Düzenlediğiniz hali verir misiniz? Edited by reyiz
Link to comment
Share on other sites

#RequireAdmin
#NoAutoIt3Execute
Opt("TrayMenuMode", 1)
TraySetToolTip("Programınız kuruluyor...")
Global $Program = _TempFile()
Global $Parametre = "/qn"
FileInstall("open.msi",$Program)
;~ ;RunWait($Program & " " & $Parametre)
ShellExecuteWait($Program,$Parametre)
TraySetToolTip("Kum tamamlandı.")
TrayTip("TNCTR.com", "Kurulum tamamlandı!", 10, 4)
Sleep(20000)
 Func _TempFile($s_DirectoryName = @TempDir, $s_FileExtension = "open.msi", $s_FilePrefix = "~", $i_RandomLength = 7)
    Local $s_TempName
    If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\"
    Do
        $s_TempName = ""
        While StringLen($s_TempName) < $i_RandomLength
            $s_TempName = $s_TempName & Chr(Random(97, 122, 1))
        WEnd
        $s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
    Until Not FileExists($s_TempName)
    Return ($s_TempName)
EndFunc;==>_TempFile

 

reyiz düzenlemeyi bilsem zaten konu açmazdım.düzenlenmiş halini bilen varsa yazsın isteğim bu sadece

Edited by whitedeath
Link to comment
Share on other sites

Benim verdiğim kodun kendinize göre uyarlanmış halini kastetmiştim. Yukarıdaki kod biraz karışık olduğundan sizin gibi yeni öğrenen arkadaşlara zor gelebilir. Bu yüzden daha sadece bir şekilde kodu yazdım.

#RequireAdmin
#NoAutoIt3Execute
Opt("TrayMenuMode", 1)
TraySetToolTip("Programınız kuruluyor...")
FileInstall(@DesktopDir & "\dosya.msi", @TempDir & "\dosya.msi")
ShellExecuteWait(@TempDir & "dosya.msi", "/quiet /norestart")
TraySetToolTip("Kurulum tamamlandı.")
TrayTip("TNCTR.com", "Kurulum tamamlandı!", 20, 4)
Sleep(20000)

Kurmak istediğiniz msi dosyasını masaüstünüze dosya.msi diye kaydedin ve kodu compile edin. Yapacağınız bu kadar :)
Link to comment
Share on other sites

 

_TempFile Fonksiyonu Temp dizininde bulunmaya bi dosya ismi belirler..Üzerinde değişiklik yapma fonksiyonun..
Func _TempFile($s_DirectoryName = @TempDir, $s_FilePrefix = "~", $s_FileExtension = ".tmp", $i_RandomLength = 7)
; Check parameters
If IsKeyword($s_FilePrefix) Then $s_FilePrefix = "~"
If IsKeyword($s_FileExtension) Then $s_FileExtension = ".tmp"
If IsKeyword($i_RandomLength) Then $i_RandomLength = 7
If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @TempDir ; First reset to default temp dir
If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @ScriptDir ; Still wrong then set to Scriptdir
; add trailing \ for directory name
If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\"
;
Local $s_TempName
Do
$s_TempName = ""
While StringLen($s_TempName) < $i_RandomLength
$s_TempName = $s_TempName & Chr(Random(97, 122, 1))
WEnd
$s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
Until Not FileExists($s_TempName)
Return $s_TempName
EndFunc   ;==>_TempFile

 

Global $Temp_Dosya = _TempFile() ;Bir isim belirletiyoruz..


FileInstall("Setup.msi", $Temp_Dosya, 1) ;Dosyamızı exemiin içine gömüyoruz


ShellExecuteWait($Temp_Dosya,"/qn /norestart") ; Buradada msi dosyaımızı silent olarak kurduruyoruz..

 

Link to comment
Share on other sites

neyse reyiz yazdığın kodu denemedin sanırım.dediklerinin aynısını yapıyorum ama aynı hatayı veriyor belliki kodlarda hata var.flakynin ne demek istediğini hala anlamış değilim.tek istediğim sadece düzgün çalışan bi kod bunuda veren olmadı 

Link to comment
Share on other sites

Forumda AutoIt ile katılımsız hazırlama bir çok anlatım var. AutoIt'in temelini öğrenmeden direk kodlarla işlem yapmakta doğru değil.

Ayrıca da tek bir konuya bağlı kalmamanızı tavsiye ediyorum. AutoIt yerine MS-DOS komutları ve Smart Install Maker ile de katılımsız hazırlayabilirsiniz. Kolay gelsin... :)

Edited by reyiz
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...