• 29-06-2014, 18:05:55
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşlar merhaba, C# kullanarak bir program yazmak istiyorum fakat bunun için ihtiyacım olan şeye aramalarım sonucu ulaşamadım. İhtiyacım olan şey birden fazla programı sırasıyla tek tıkla kurdurtmak.

    Kastettiğim şey bir programın 32 bit mi 64 bit mi olduğunu radio butonla işaretleyip kurulumu başlat diyerek sessizce kurulması.

    Resimde göreceğiniz örnek form'da göstermeye çalıştım en basitinden.



    Konuyla ilgili elinde örnek bir çalışma yada makale olan bir arkadaş yardımcı olursa cok sevinirim.

    Teşekkür ederim.
  • 29-06-2014, 22:27:09
    #2
    çözüm basit, kendine 1 adet ftp adresi alıyosun kurmak istediğin dosyaları .rar'layıp ftp ye atıyorsun C# a gelip download class yazıyosun ardından ftp adresini gizli bi yere download ettiriyorsun daha sonrada unzip yaptırıp kurulumu tamamlatıyorsun..
  • 29-06-2014, 23:46:50
    #3
    selam,

    istediğin şey aslında biraz zor olabilir aslında şu kısım zor..

    öncelikle çevrimdışı bir kurulum yaptırmak istiyorsun anladığım kadarıyla.. kurulacak setuplarını kendi projene gömersin ve onun üzerinden bir temp klasörüne çıkararak setupları çalıştırırsın..

    radiobuttonda seçilecek değere göre ilgili setup dosyasını çağıracaksın. ancak kişinin işletim sistemi 32 bit ise otomatik olarak 64 bit seçeneğini kapatman gerekiyor.

    buradaki örneklerle işletim sisteminin kaç bit olduğunu tespit edebilirsin

    http://stackoverflow.com/questions/3...tform-with-net


    şimdi gelelim işin zor dediğim kısmına.. sen sessiz modda çalıştırmak istiyorsun yani /s ya da -s olarak..

    mesela bir executable dosyayı çağırdığında atıyorum

    c:\deneme.exe -s yaparsan penceresi gizlenir ve arkaplanda çalışır. bu işte sorun yok ama kurulum yapmak için ileri tuşuna basacaksın, yeri gelecek radiobuttonları seçeceksin..

    konsol uygulaması yapsaydın, konsolda okutabilirdin verileri ama windows form uygulamalarında verileri okusan bile işe yaramaz..

    aklıma direk düşük seviyeli işlem olarak handle numalararını alıp yapmak geliyor. şöyle ki, form penceresi açık olduğunda (microsoftun yayınladığı spy++ ı kullanabilirsin), tıklatmak istediğin butonun handle numarasını alıp click lettirebilirsin.. bu işlemi başarıyla yapabiliyorsan gizli şekilde kendi exen için böyle bir şeyi denersin.. eğer olursa ilgili api leri kullanarak (pinvoke.net de örnekler vardır) bu işlemleri yaptırabilirsin..

    kuracağın setuplar benzer setup programıyla hazırlanmışsa tek bir class ile işi halledersin, aksi halde her farklı setup programı için farklı şeyler hazırlaman gerekecek..

    bu iş kolay değil ama yapılabilir bir iş.


    ------

    edit biraz bakayım dedim internete, sanırm bu tarz executable dosyalar için /s değil de /Q ya da /QB kullanılmıyormuş..

    burada örnekler var

    http://stackoverflow.com/questions/7...-using-c-sharp

    ve basitçe kurulum aşamalarında( ileri ye falan basma olayı) yok göründüğü kadar. ama çalışıp çalışmadığı hakkında fikrim yok.. bu şekilde çözebilirsen dediğim şeylere hiç gerek kalmadan halledebilirsin..

    kolay gelsin
  • 30-06-2014, 00:49:55
    #4
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    selam,

    istediğin şey aslında biraz zor olabilir aslında şu kısım zor..

    öncelikle çevrimdışı bir kurulum yaptırmak istiyorsun anladığım kadarıyla.. kurulacak setuplarını kendi projene gömersin ve onun üzerinden bir temp klasörüne çıkararak setupları çalıştırırsın..

    radiobuttonda seçilecek değere göre ilgili setup dosyasını çağıracaksın. ancak kişinin işletim sistemi 32 bit ise otomatik olarak 64 bit seçeneğini kapatman gerekiyor.

    buradaki örneklerle işletim sisteminin kaç bit olduğunu tespit edebilirsin

    http://stackoverflow.com/questions/3...tform-with-net


    şimdi gelelim işin zor dediğim kısmına.. sen sessiz modda çalıştırmak istiyorsun yani /s ya da -s olarak..

    mesela bir executable dosyayı çağırdığında atıyorum

    c:\deneme.exe -s yaparsan penceresi gizlenir ve arkaplanda çalışır. bu işte sorun yok ama kurulum yapmak için ileri tuşuna basacaksın, yeri gelecek radiobuttonları seçeceksin..

    konsol uygulaması yapsaydın, konsolda okutabilirdin verileri ama windows form uygulamalarında verileri okusan bile işe yaramaz..

    aklıma direk düşük seviyeli işlem olarak handle numalararını alıp yapmak geliyor. şöyle ki, form penceresi açık olduğunda (microsoftun yayınladığı spy++ ı kullanabilirsin), tıklatmak istediğin butonun handle numarasını alıp click lettirebilirsin.. bu işlemi başarıyla yapabiliyorsan gizli şekilde kendi exen için böyle bir şeyi denersin.. eğer olursa ilgili api leri kullanarak (pinvoke.net de örnekler vardır) bu işlemleri yaptırabilirsin..

    kuracağın setuplar benzer setup programıyla hazırlanmışsa tek bir class ile işi halledersin, aksi halde her farklı setup programı için farklı şeyler hazırlaman gerekecek..

    bu iş kolay değil ama yapılabilir bir iş.


    ------

    edit biraz bakayım dedim internete, sanırm bu tarz executable dosyalar için /s değil de /Q ya da /QB kullanılmıyormuş..

    burada örnekler var

    http://stackoverflow.com/questions/7...-using-c-sharp

    ve basitçe kurulum aşamalarında( ileri ye falan basma olayı) yok göründüğü kadar. ama çalışıp çalışmadığı hakkında fikrim yok.. bu şekilde çözebilirsen dediğim şeylere hiç gerek kalmadan halledebilirsin..

    kolay gelsin
    hocam konu aslında biraz daha basit. sistemin kaç bit olduğuyla felan ilgilenmiyoruz. kişi radio butonlardan seçimini yapıyor ve 3 tane .msi uzantılı program dosyası sırasıyla kuruluyor.

    tek istediğim bu, bunu yaparken de en önemlisi offline kurulum yapmak yani bu msi dosyalarını projeye gömmek. bununla ilgili bir örnek bulsam her şey çözülecek aslında.

    piyasada silent install yapan programlar var, ben bunu c# ile gerçekleştirmek istiyorum.

    cevabınız için teşekkür ederim bu arada.
  • 30-06-2014, 02:44:42
    #5
    anladım.. dosya gömme olayı basit

    http://forum.yazgelistir.com/Exe-i%C...Id=0&forumId=4

    buraya bakabilrisin..
    ya da böyle aptalca bi video var..


    https://www.youtube.com/watch?v=_72mKw3hl1s


    dosyayı gömüp çıkarabilirsin..

    sonra sana verdiğin linkteki kodu uygulamayı dene


    http://stackoverflow.com/a/7203926/1276061

    yani çıkarttığın msi için buradaki mantıkla çalıştır bakalım..