Go veya Rust uygulaması için Windows yükleyici (her işletim sisteminden)
Bir Go veya Rust programını Windows için çapraz derleyin, simge gömün, GUI uygulamalarında konsolu gizleyin ve tek .exe dosyasını (ek dosyalarıyla birlikte) kısayollar ve kaldırıcı içeren bir Setup.exe'ye dönüştürün.
31 Ekim 2026 tarihinde güncellendi · 3 dk okuma
Go ve Rust, bir Mac ya da Linux makineden Windows için tek bir statik .exe üretir; masaüstü araçlarında bu kadar tercih edilmelerinin önemli bir nedeni budur. Yine de kullanıcılar bu .exe dosyasını İndirilenler klasöründe tutmak yerine yüklemeyi bekler. Bu rehber, önemli derleme bayraklarını ve test zamanı gelene kadar Windows'a hiç dokunmadan ikili dosyayı nasıl Setup.exe haline getireceğinizi anlatır.
Go
Hedefi ortam değişkenlerinde belirterek çapraz derleyin:
GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o MyApp.exe .
-s -w, sembol tablolarını ve hata ayıklama bilgilerini kaldırarak ikili dosyayı küçültür.- GUI uygulamaları için (Fyne, Wails, Walk, bir webview) konsol penceresi açılmaması adına
-ldflagsiçine-H windowsguiekleyin:-ldflags "-s -w -H windowsgui". - 32 bit derleme için
GOARCH=386, Windows on ARM içinarm64kullanın.
Simge ve sürüm bilgisi. Go'nun Windows simgesi gömmek için yerleşik bir yolu yoktur. go-winres, küçük bir JSON açıklaması ve .ico dosyanızdan bir .syso kaynak dosyası üretir; .syso dosyasını pakete koyun, go build onu otomatik olarak alır. Bu olmadan .exe genel simgeyi gösterir, ancak yükleyicinin kısayolları yine de yüklediğiniz simgeyi kullanır.
Rust
Windows üzerinde varsayılan hedef yeterlidir:
cargo build --release
macOS veya Linux'tan, MinGW kuruluyken çapraz derleme yapan GNU araç zincirini hedefleyin:
rustup target add x86_64-pc-windows-gnu
cargo build --release --target x86_64-pc-windows-gnu
cargo-xwin, MSVC hedefi için çapraz derleme yapan bir alternatiftir.
- GUI uygulamaları için konsol penceresini bastırmak adına
main.rsdosyasının en üstüne#![windows_subsystem = "windows"]ekleyin. - Simge ve sürüm bilgisi gömmek için
build.rsiçindenwinresveyaembed-resourcecrate'ini,app.icodosyasına başvuran bir.rcdosyasıyla birlikte kullanın. - Daha küçük bir ikili dosya için release profilinde
opt-level = "z",lto = truevestrip = trueayarlayın.
Ne yüklemeli
Tek bir .exe: doğrudan ExeTup'a yükleyin; zip gerekmez. Yükleyici ona Program Files'da (veya kullanıcı bazında) bir yer, kısayollar ve bir kaldırıcı sağlar.
Ek dosyalarla birlikte bir .exe (bir yapılandırma şablonu, webview uygulaması için web varlıkları, bir data/ klasörü): programın çalışma zamanında beklediği klasör yapısıyla hepsini bir zip'e koyun ve zip'i yükleyin. Alternatif olarak .exe dosyasını yükleyin ve ek dosyaları "Diğer dosyalar" adımında ekleyin; her iki durumda da programın yanına yerleşirler.
Ardından adı, sürümü ve yayıncıyı girin, kapsamı ve mimariyi seçin, .ico dosyasını yükleyin ve derleyin. Sonucu Windows'ta test edin; Windows PC olmadan test seçeneklerine göz atın.
Komut satırı araçları
Yükleyiciler masaüstü uygulamaları için tasarlanmıştır, ancak bir CLI de bundan yararlanır: bilinen bir konum, bir kaldırma kaydı ve BT ekipleri için /S ile sessiz dağıtım. İki uyarı:
- Yükleyici klasörü
PATHdeğişkenine eklemez. Kullanıcılara kurulum klasörünü söyleyin ya da aracın ilk çalıştırmada kendini eklemeyi önermesini sağlayın. - Kullanıcı bazlı kurulumlar
%LOCALAPPDATA%\Programs\MyAppkonumuna gider; kullanıcılar buraya yönetici hakları olmadan erişebilir.
Geliştiricilere yönelik araçlarda winget veya scoop bildirimleri (manifest) hedef kitlenize bir yükleyiciden daha uygun olabilir; bunlar aynı imzalı .exe dosyasına işaret edebilir.
Notlar
- Antivirüs sezgisel taramaları. Go ve Rust ile yeni derlenmiş, imzasız, statik bağlı ikili dosyalar bazen sezgisel tarayıcıları tetikler. Programı Program Files'a koyan bir yükleyici biraz yardımcı olur; kod imzalama ise çok yardımcı olur. SmartScreen rehberine bakın.
- Çalışma zamanı yok, ön koşul yok. Her iki dil de çalışma zamanını ikili dosyaya bağlar. Yükleyici ikili dosyayı olduğu gibi dağıtır.
- Güncellemeler. Daha yüksek sürümlü yeni bir yükleyici dosyaları yerinde değiştirir.
Sık sorulan sorular
Yalnızca .exe dosyasını yükleyebilir miyim?
Evet. Tek bir .exe tek başına kabul edilir ve yükleyici yine de kısayollar, bir kaldırıcı ve Windows Ayarları'nda bir kayıt sağlar.
Yükleyiciyi oluşturmak için Windows gerekir mi?
Hayır. İkili dosyayı kendi işletim sisteminizde derleyin, yükleyin; ExeTup yükleyiciyi bulutta derler. Windows yalnızca sonucu test etmek için gerekir.
Go GUI uygulamam neden siyah bir konsol penceresi açıyor?
-ldflags "-H windowsgui" ile derleyin. Rust'ta main.rs dosyasına #![windows_subsystem = "windows"] ekleyin.
Simgemi .exe dosyasının kendisine nasıl koyarım?
Bir Windows kaynağı olarak gömün: Go için go-winres, Rust için winres veya embed-resource crate'i. Yükleyici ve kısayollar için aynı .ico dosyasını ExeTup'a yükleyin.
İlgili rehberler
- Mac veya Linux'ta Windows yükleyici oluşturmamacOS veya Linux'ta geliştirme yaparken Setup.exe üretme seçenekleriniz, NSIS ile çapraz derlemeden yalnızca tarayıcıda yapılan derlemeye kadar, ve sonucu Windows PC'niz olmadan nasıl test edeceğiniz.
- Bir .exe dosyasını Windows yükleyicisine dönüştürme (exe'den Setup.exe'ye)Tek bir .exe dosyasını ya da içinde .exe bulunan bir klasörü, yükleyici betiği yazmadan, kısayolları ve kaldırıcısı olan gerçek bir Windows yükleyicisine nasıl dönüştürürsünüz.
- Setup.exe sessiz kurulum: /S anahtarı, özel klasör ve dağıtımNSIS tabanlı bir Setup.exe'yi /S ile sessiz çalıştırma, /D= ile klasör seçme, sessiz kaldırma ve yükleyiciyi Intune, PDQ veya bir betikle dağıtma.