2010-10-07 31 views
8

Installaware kullanarak bir yükleme paketi oluşturdum ve bir EXE ve bir MSI oluşturdum. EXE 3.1MB ve MSI sadece 265K'dir. Neden büyüklükte böyle büyük bir fark var?Bir EXE ve bir MSI yükleyici arasındaki fark nedir?

+0

Yükleme boyutu bir sorunsa, Windows Installer altyapısını setup.exe dosyanızla birlikte eklemenizi tavsiye etmem. Yalnızca Microsoft'tan gelen yeni bir motor sürümüne bağlı olduğumda motoru dahil ediyorum. Aksi takdirde, internete bağlı neredeyse tüm sistemler yeterli bir motora sahip olacaktır. Ve sonra bile MSI'nin otomatik olarak yüklemek yerine en yeni motoru almak için Windows Update'i çalıştırması için kullanıcıyı bilgilendirmesini tercih ediyorum. –

+0

olası yineleme [.msi ve setup.exe dosyası arasındaki belirli farklar nelerdir?] (Http://stackoverflow.com/questions/1789530/what-are-the-specific-differences-between-msi-and-setup -exe dosyası) –

cevap

-2

EXE muhtemelen aksi takdirde sadece MSI bulunan her türlü kurulum komut dosyası çalıştırır, hangi msiexec tarafından gerçekleştirilir kurulum yordamları içerir.

+1

Hayır, bu doğru bir bilgi değildir. Lütfen sil. –

4

Aradaki fark şudur: MSI paketi dosyalarınızı + yükleme komut dosyası içerir ve asıl yükleme, Windows'un bir parçası olan Microsoft Installer tarafından çalıştırılır ve Windows, iletileri günlüğe kaydetme vb. Ile ilgilenir. , EXE yükleyiciniz, yükleme işlemini yürütmek için dosyaları + gerçek program mantığını tutuyor, hemen hemen her şeyden sorumlu oluyor, dolayısıyla fark. Windows Yükleyici Motor-

+0

Unutulmaması gereken bir şey, msiexec'in birçok sürümü olduğunu ve .MSI dosyanızın Microsoft Installer'ın belirli bir sürümünü gerektirmesidir. Bununla birlikte, Windows'larını düzenli olarak güncelleyen kullanıcılar her zaman en yeni ve en büyük msiexec sürümüne sahip olacaklar. – EboMike

+0

Aslında, InstallAware, Installshield veya AdvancedInstaller gibi bir Yükleme aracından oluşturulan bir EXE dosyası genellikle MSI yüklemesini otomatik olarak (birkaç dilde) otomatik olarak başlatmak için çalışma zamanlarını ve önyükleme özelliklerini içerir. –

10

Bir MSI dosyası yalnızca msiexec.exe tarafından başlatılabilir. Bir MSI dosyası, yazılımı yükleyebilen bir Windows Installer veritabanı dosyasıdır. Yüklenebilmesi için Windows Installer Engine Runtime yazılımının doğru sürümünü gerektirir. Çoğu sistem, Windows Update aracılığıyla geldiğinden beri en yeni motor sürümleri ile günceldir.

EXE dosyası sen üretmek hem MSI kendisi hem de çeşitli çalışma zamanı gereksinimleri Kurulum olabileceğini içeren bir kendiliğinden açılan başlatıcısı uygulaması olduğunu. Bir EXE dosyası içerebilir

çeşitli bileşenleri:

  • MSI gerektirir Windows Installer Engine Runtime sürümü (mevcut sürüm 5.0). Bu günlerde bu çalışma zamanı Windows Update tarafından yüklenmeli ve kurulumunuz yalnızca mevcut olduğunu doğrulamalıdır. (Installshield için InstallScript) MSI, özel eylemlerin gerektirdiği
  • komut dosyası çalışma zamanları
  • (şimdi 10 sürümlerinde Kazanma) uygulamanın gerektirdiği .NET runtime version. Bunun için Windows Update'i de kullanmayı tercih ederim, ancak uygulamanız son nokta ise gerekli olan motoru dahil etmek isteyebilirsiniz. Potansiyel olarak çok dilli kurulumları için farklı dillerde
  • Logosu dosya ve açılış ekranları,
  • Çeşitli diğer bileşenler bir EXE dosyası da olmayan bir MSI yükleyici olabilir

Not mümkündür. Başka bir deyişle, Microsoft MSI biçimine dayanmayan eski bir yükleyici - bir ofis tarzı ikili dosyada saklanan bir MS-SQL veritabanıdır - ancak Wise Script, Instalscript, Inno Setup, vb. Gibi çeşitli biçimlerde yükleme betiği ... Ancak, bu durumda soru, exe ile bir InstallAware yapısından çıkan MSI arasındaki boyut farkı ile ilgili idi ve daha sonra fark yukarıda açıklanan çalışma süreleriydi.

İlgili konular