c# da yazdığım programın Bütün PC lerde çalışabilir hale getirilmesi

Başlatan Mucit23, 07 Ocak 2019, 11:27:44

Mucit23

Selamlar

C# da ufak bir program parçası yazdım. Programda USB haberleşmesi ile donanımdan bilgi çekip bilgisayar üzerinde gösterimini yapıyorum. Program içerisinde Devexpress tooları ile yapmış olduğum gauge'ler var. Bu program normalde  yazılımı hazırladığım PC de çalışıyor ama debug dosyası içerisindeki dosyaları başka PC de çalıştırmayı denedim olmadı. Çalışmıyor hiç tepki vermiyor.

Bunun için gerekirse ufak bir kurulum dosyası olabilir fakat protable olsa güzel olacak. Bunu nasıl yaparım. Windows 7 ve Windows 10'da düzgün çalışmasını istiyorum.

Yuunus

C# in .net bagimliligi var bildigim kadariyla sorun belki de o dur.

Mucit23

Yok sorun o değil. NetFrameWork gerekliliği çok sorun değil o çözülür. Sorun program içerisinde devexpress toolarını kullanmam. Şuan işyerindeki PC de deniyordum. Debug içerisindeki otomatik oluşturulan exe dosyası işyerimdeki pc de çalışmadı. Fakat işyerimdeki PC ye devexpress kurunca çalıştı. Sorun budur.

Ne yapmam gerekiyor bunu önlemek için?

MC_Skywalker

en basit programınızı dağıtım için paketleyip setup oluşturmak. Bu şeklide tüm bağımlı dll vb. dosyalar pakete eklenir. kullanıcı kurulumu yapınca sorunsuz işlem tamamlanır.

Yada tektek tüm bağımlı dll vb. tespit edip kullanıcıya exe yanında vermek ve bu dosyların yolunu registry'e yazacak minik bir scrip oluşturmak.

foseydon

projeniz devExpress'in size sağladığı kaynakları kullandığı için, sadece .exe dosyasını aktardığınız zaman çalışmayacaktır. aynı sebepten devExpress kurduğunuz zaman çalışır, çünkü o kaynakları bulabiliyor.

harici olarak kullandığınız kaynakları nihai çıktının içine gömmeniz lazım. projenizde "add reference" gibi bir menu olması lazım, sağ tıkladığınızda. ordan kaynağı ekleyip embedded resource olarak işaretlerseniz exe'nin içine gömer. tam detayını hatırlamıyorum, netten bir araştırın. veya setup projesi yaratacaksınız, bu harici kaynakları kurulum yolu ile hedef bilgisayara yükleyeceksiniz.

Ersin

W10/64 e göre yap , özellikle hid olarak kullanıyor isen, w7/32 de w10/64 te çalışmayabilir.

Mucit23

Şöyle yaptım oldu gibi ama tam aklıma yatmadı. Solution Explorer'da references bölümü altındaki Devexpress ile ilgili dll lerin Copy Local parametrelerini true yapınca aynı dosyaları build içerisine aktardı. Şimdi harici bilgisayarda denedim çalıştı. Ama pek aklıma yatmadı bu şekilde çünkü uygulama dosyası ile birlikte birçok dll vermem gerekiyor. Bunların hepsini exe dosyasına gömme işi nasıl olur? Yada setup oluşturalım. 

Bu arada USB HID de kullanıyorum.

Mucit23

Ek olarak bilgisayarıma sanal windows 7 kursam USB hid haberleşmesinin çalışıp çalışmadığını görebilirmiyim?

FeelYourMind

Konuyla çok alakalı değil fakat size nacizane tavsiyem, eğer ide ile işiniz bitmiş ise yazdığınız programın .exe uzantılı dosyasını release olarak almanız. Program debug modunda çalışırken daha ağır çalışacaktır.

serdararikan


engerex

Alıntı yapılan: Mucit23 - 07 Ocak 2019, 13:13:53Ek olarak bilgisayarıma sanal windows 7 kursam USB hid haberleşmesinin çalışıp çalışmadığını görebilirmiyim?

Host işletim sistemi cihazı tanıyorsa ve hostta sürücü sıkıntısı yoksa guest işletim sistemide sürücü sıkıntısı yoksa EVET çalışır. Önce Host tanıyacak. HID olduğu için sürücü gereksinimi olmaması gerekli.

qeek

Hocam qt kullanıyorum. Dediğiniz şeyin adı onda statik derleme diye geçiyor her şeyi exe'nin içine koyuyor bütün dll dosyaları dahil ama c# ne diye geçiyor bilmiyorum.

brandice5

Kullandığınız tüm dll'ler managed ise "ILMerge" ile hepsini exe'nin içine ekleyebilirsiniz.