MSIExec'i belirtilen sürüme yükseltmeye zorlama


0

LibreOffice'i (sürüm 5.3.2.2) başka bir kurulumun parçası olarak kurmak istiyorum ancak aşağıdaki sorunu yaşıyorum:

  • 4.x veya önceki bir sürüm zaten yüklü olduğunda, yükleyici beklendiği gibi LibreOffice 5.3.2.2'yi yükler.
  • Hiçbir şey yüklenmediğinde, yükleyici beklendiği gibi LibreOffice 5.3.2.2'yi yükler.
  • 5.x sürümü zaten kurulu olduğunda, yükleyici hiçbir şey yapmaz.

Güncellemeyi 5.x'ten 5.3.2.2'ye zorlamak için komut satırına hangi parametreyi ekleyebilirim? Şu anda aşağıdaki komut satırını kullanıyorum:

msiexec /i "<filename.msi>" /q

Parametreyi zaten denedim REINSTALL=ALL ancak bu işe yaramadı (5.x'ten 5.3.2.2'ye güncelleme yok).

MSI dosyasında bazı değişikliklerin yapılması gerekiyorsa: Bilgisayarımda Orca var, bu yüzden gerektiğinde MSI dosyasını değiştirebilirim.

Herhangi bir fikir?


@Daniel: Orca MSI dosyasını değiştirmek için kullanabileceğim bir MSI editörüdür, istediğimi yapabilecek herhangi bir parametre yoksa.
Dominique

Etiketi kaldırdım çünkü soruyu sınıflandırmaya yardımcı olmuyor. Etiket şu anda diğer üç soru ve bunların hiçbiri MSI editörüne atıfta bulunmaz. Bunun yerine Orca Ekran Okuyucusuna başvuruyorlar.
Daniel B

Üzgünüz, başka bir programın var olduğuna dair hiçbir fikrim yoktu :-)
Dominique

Yanıtlar:


1

Bu arada, sorumun cevabını Windows-installer SDK kullanarak buldum

msiexec /i "<filename.msi>" /q REINSTALL=ALL REINSTALLMODE=A

( REINSTALLMODE=A Tüm dosyaların aynı / farklı / eski / genç / ... olmasına rağmen yeniden yüklenmesini zorlar


Komutunuz programı yalnızca C sürücüsüne yükler. Komut seçeneğim ile hedef klasörü kontrol edebilirsiniz. Ve eğer C sürücünüz bir şekilde hasar görmüşse faydalıdır.
Biswapriyo

0

msiexec /a pathtoMSIfile /qb TARGETDIR=pathtotargetfolder

  • “/ Qb” argümanı yükleyiciye paketten çıkarırken basit bir UI göstermesini söyler, eğer işlemi tamamen sessiz yapmak istiyorsanız bunun yerine “/ qn” kullanın.

Msiexec

  • Diyelim ki F sürücüsünde bir LibreOffice MSI dosyası var ve E sürücüsüne yüklemek istiyorum. Ben sadece komutu yönetici olarak yazdım

msiexec /a "F:\LibreOffice_5.3.3_Win_x64.msi" /qb TARGETDIR=E:\Libreoffice

Kurulumun ilerlemesini gösteren iki resim Libreoffice Initial Libreoffice time

  • Bu işlem, söz konusu hedef dizindeki önceki yükleme dosyalarının üzerine yazar. Hatırla bütün işleri kopyala itibaren Libreoffice\System64 için Libreoffice\program. İle kısayol yapıyorum E:\Libreoffice\program\soffice.exe --nologo (benim durumumda) uyumlu herhangi bir ofis dosyasını açıp sadece & amp; düşürmek. Programı, sistem sürücüsü dışında da yükleyebilirsiniz.

  • MSI'yı yüklemek için bazı uygulamalar da var, bunları deneyin: lessmsi , Evrensel çıkarıcı , MSI Unpacker Yardımcı Programı


Harika bir fikir gibi görünmüyor. Bileşen kayıtlarını (eğer varsa) güncellemeyecek ve kesinlikle MSI veritabanında kaydedilen sürümü güncellemeyecektir.
Daniel B

@DanielB Her gün bu işlemle kullanıyorum ve yanlış bir şey olmadı. Bir kişi sağ tıklatarak dosyayı açabilir ve "birlikte aç" ı seçebilir. Ve hiçbir kayıt gerekli değildir.
Biswapriyo

@Biswa: Ayrıntılı cevap için teşekkürler, ama benzeyen bir şey bekliyordum msiexec /i <filename>.msi <WHAT_TO_DO>=<OVERWRITE_EXISTING> (büyük harflerden dolayı), Windows-yükleyicisinin SDK'sına bakıyordum ama bulamadım. Bunun olmaması durumunda, bir MSI editörü (Orca gibi) kullanarak & lt; filename & gt; .msi dosyasını düzenleyerek bunu başarabilir miyim?
Dominique

Bu işlem herhangi bir SDK çalıştırılabilir gerektirmez. Msiexec bir Windows dahili yazılımıdır. Ve bu komut seçeneği ile herhangi bir yere yükleyebilirsiniz.
Biswapriyo
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.