MSI kurulumlarını nasıl otomatik hale getiririm?


11

Belirli bir sırayla çalıştırılması gereken yaklaşık 20 uygulamam var. Bunları komut dosyası haline getirmek istiyorum, böylece bunu uzaktan yapabilirim.

Uygulamaların her birinde bir Setup.exe ve bir MSI bulunur.

Ben sadece bir cevap dosyası ile MSIs adlı basit bir komut dosyası olmasını umuyordum, ama bunu yapmamdan bu yana yıllar geçti. Ancak, nasıl cevap dosyası oluşturulacağını hatırlamıyorum.

Bunu yapmanın iyi bir yolu var mı? Yoksa daha basit bir yol olabilir mi?

Yanıtlar:


17

Yüklü bir soru hakkında konuşun ...

Yeni başlayanlar için setup.exe dosyasını yok sayın. Oran sadece MSI diyor. Ya da bazen MSI adını verdikten sonra bir sürü şey çıkarırlar, genellikle kurulumunuzu çalıştırdığınızda ve ne yaptığına dair bir fikir edindiğinizde geçici dizininizi izleyebilirsiniz.

Her zaman hile yaptım msiexec /i path/to-install.msi /l*v /qnve günlükle krankla kurulumun ( ) kuru bir çalışmasını yaptım , daha sonra kütükten geçtim ve ayarlamak ve komut satırı aracılığıyla ayarlamak istediğim özellikleri seçtim. Yanıt dosyaları hiçbir zaman işe yaramadı veya bunları yapmak için işlem yapma zahmetine değmedi.

Sonra InstEdit'i buldum ve bir kayık yükü kullandım. Bir MSI'nın özelliklerini düzenlemenize ve daha sonra komut dosyanızda bir argüman olarak iletebileceğiniz bir Dönüşüm oluşturmanıza izin verir: msiexec /i path/to/installer.msi /t path/to/transform.mst Önce bir çekim yapmanızı öneririm, hemen hemen her şeyi yapan ücretsiz bir sürüm var.

Ayrıca tüm anahtarlar için buraya bir göz atabilirsiniz msiexec.


+1 ancak maalesef anahtarlar tüm MSI'larla çalışmıyor gibi görünüyor. Neden içine bakmadı ama kesinlikle bazılarında böyle.
Ciaran

MSI'nın nasıl oluşturulduğuna bağlıdır. IIRC gibi belirli parametreleri yok saymak için ayarlayabileceğiniz bazı özellikler vardır. Genellikle Instedit kullanarak ve her zaman işe yarayan bir Transform oluşturmak, karşılaştığım tek hata genellikle insandı.
peelman


1
Günlük yöntemi benim için çalıştı. Özelliklerin şu şekilde sıralanacağına dikkat etmek önemlidirProperty(S) : PROPERTY_NAME...
Drew Chapin

5

Msiexec ihtiyacınız olan araçtır. Bir şeyler "sessiz" yüklemek için -q parametresi vardır:

/ qn: Kullanıcı arabirimi görüntülemez.

/ qb: Temel bir kullanıcı arabirimi görüntüler.

/ qr: Yüklemenin sonunda kalıcı bir iletişim kutusu görüntülenerek, azaltılmış bir kullanıcı arabirimi görüntüler.

/ qf: Tam kullanıcı arabirimini, sonunda kalıcı bir iletişim kutusu ile görüntüler.

/ qn +: Sonunda görüntülenen kalıcı iletişim kutusu dışında hiçbir kullanıcı arabirimi görüntüler.

/ qb +: Sonunda kalıcı bir iletişim kutusu ile temel bir kullanıcı arabirimi görüntüler.

/ qb-: Kalıcı iletişim kutuları olmayan temel bir kullanıcı arabirimi görüntüler.

Komut satırının sonunda adlandırılmış seçenekler (veya "özellikler") de sağlayabilirsiniz; hangi özelliklerin desteklendiği pakete bağlıdır. Örneğin, bu komut:

msiexec /qb /l* perl-log.txt /i ActivePerl.msi PERL_PATH=Yes PERL_EXT=Yes

... MSI paketine PATH'inize Perl.exe eklemesini ve .pl dosyalarını onunla ilişkilendirmesini söyleyen ActiveState Perl'i nasıl kuracağınızdır. ( kaynak )


1
Bir geliştiricinin kendi msi yükleyicisindeki / q seçeneğini devre dışı bırakmayı seçebileceğini unutmayın.
Joel Coehoorn

2

Çoğu uygulama sessiz bir şekilde kurulabilir ve bunun için komut dosyası yazılabilir. Her Setup.exe içinde bir dizi potansiyel anahtar olabilir, bu nedenle satıcıyı aramak veya web sitelerini aramak şarttır. Bazen / ?, / h / help anahtarıyla kuruluma başlayarak bilgileri alabilirsiniz. MSI dosyaları da herhangi bir sayıda anahtar içerebilir ama bu makalede MSI komut satırı parametreleri bir liste sağlar.

İşlemi komut dosyası oluştururken, setup.exe ile yüklenen ve ardından MSI gibi başka bir dosyayı başlatan bir uygulamada çalışabilirsiniz. Bir örnek MS Office XP idi. Bu durumda, komut dosyanız başlattığınız dosyanın tamamlanmış olduğunu ve her şeyin güneye gitmesine neden olmayan bir sonraki kurulumu başlattığını düşünebilir. Bu sorunu çözmek için, kurulum dosyasını atlamayı deneyin ve komut satırı seçenekleriyle doğrudan gerçek yükleyiciye (muhtemelen bir MSI) gidin. Bu mümkün değilse, bir tür zamanlayıcı duraklaması oluşturmanız gerekebilir. İnternette bulduğum wait.exe adlı küçük bir yardımcı programı kullanıyordum ama bunu yapmanın bir milyon yolu var. Komut dosyası oluşturmanın anahtarı, bir uygulamanın doğru yüklendiğini tanımlayabilmektir, böylece bir sonraki yükleme başlayabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.