Ett ganska vanligt problem bland användare av Windows-operativsystemet oavsett version är msi-felet när man installerar program från en fil med tillägget .msi. I den här artikeln kommer jag att beskriva vanliga problem med installationsprogrammet för Windows 7/10/XP och lösningar på dem, och även göra en video om det aktuella problemet.

Filer med tillägget .msi är vanliga installationspaket (distributioner) från vilka programmet installeras. Till skillnad från det vanliga "setup.exe" använder systemet Windows Installer-tjänsten (msiexec.exe-processen) för att starta msi-filen. Enkelt uttryckt packar Windows Installer upp och kör filer från distributionen. När Windows Installer inte fungerar visas olika fel.

I allmänhet gör detta mig väldigt upprörd, för... Efter ett dumt felmeddelande är det helt oklart vad man ska göra härnäst. Microsoft utformade specifikt Windows Installer för att förbättra möjligheten att installera program (främst för systemadministratörer), men tog inte ordentligt hand om att tjänsten skulle fungera smidigt eller till och med rapportera problem. Nu måste vi lösa det :)

Problem kan vara med driften av själva tjänsten eller kan uppstå under installationen av program, när allt är konfigurerat i princip korrekt. I det första fallet måste du mixtra med installationstjänsten och i det andra lösa ett problem med en specifik fil. Låt oss överväga båda alternativen, men först det andra.

msi-filfel

Mycket ofta uppstår fel på grund av otillräckliga systemrättigheter till filer eller mappar. Detta är inte att säga att Windows Installer inte fungerar; i det här fallet behöver du bara lägga till de nödvändiga rättigheterna och allt kommer att fungera. Igår stod jag inför det faktum att det nedladdade distributionspaketet.msi inte ville installeras, installationsguiden startar framgångsrikt, parametrarna är valda, men sedan tänker systemet i några sekunder och ger ett fel:

"Fel vid läsning av filen 'filnamn' verifiera att filen finns och att du kan komma åt den" (Fel 1305). Översatt: "Fel vid läsning från fil...kontrollera om filen finns och om du har tillgång till den." Tja, är du inte dum? Naturligtvis hjälper inte knappen "Försök igen" och att avbryta stoppar hela installationen. Budskapet har inte heller någon speciell innebörd, eftersom filen finns definitivt och jag har tillgång till den, annars skulle jag helt enkelt inte kunna köra den och ta emot det här meddelandet, och av någon anledning är den på engelska :)

Och misstaget är att det inte är jag som ska ha tillgång till filen, utan Windows installationsprogrammet, eller snarare själva systemet. Lösningen är väldigt enkel:

Nu visas inte installationsfelet! Du kan lägga till åtkomst till hela mappen som du vanligtvis installerar program från, till exempel till mappen "Nedladdningar", som min. Se en video om hur du löser problem med åtkomsträttigheter:

I Windows XP visas inte fliken Säkerhet om enkel fildelning är aktiverad. För att stänga av den måste du gå till "Start -> Kontrollpanelen -> Mappalternativ -> Visa" och stäng av alternativet "Använd enkel fildelning". I avskalade versioner av Windows 7/10 och XP finns det ingen "Säkerhet"-flik alls. För att se det måste du logga in som administratör.

Fler sätt att lösa problemet


Den beskrivna metoden kommer att hjälpa till med olika meddelanden, med olika nummer. Till exempel kan du se msi-filfel så här:

  • Fel 1723
  • Internt fel 2203
  • Systemfel 2147287035
  • Fel: "Detta installationspaket kan inte öppnas"
  • Fel 1603: Ett allvarligt fel inträffade under installationen

I alla dessa fall bör det hjälpa att ställa in behörigheter för filen och/eller för vissa systemmappar. Kontrollera om "systemet" har tillgång till mappen med temporära filer (du kan få felmeddelandet "Systemet kan inte öppna den angivna enheten eller filen"). För detta:

Efter att ha tryckt på "Enter" ändras sökvägen till "normal" och du kommer att flyttas till den riktiga temporära mappen. Rättigheterna till det måste kontrolleras. Jag rekommenderar också att du rensar tillfälliga mappar från allt som har samlats där, eller ännu bättre, tar bort dem och skapar nya med samma namn. Om du inte kan ta bort en mapp, läs, men det är inte nödvändigt.

Om Windows Installer-tjänsten fortfarande inte vill fungera kontrollerar du rättigheterna till mappen "C:\Config.Msi", här måste "systemet" också ha full åtkomst. I det här fallet kan du ha sett felet "Error 1310". För säkerhets skull, se till att mappen DÄR du installerar programvaran också har alla rättigheter.

Register och serviceinställningar

Nästa sätt att lösa felet är att återställa driftsparametrar i Windows Installer-registret.

För att göra detta, ladda ner arkivet och kör två reg-filer därifrån, motsvarande din version av Windows. Godkänner att importera inställningar.

Viktig! Det är tillrådligt innan den sista åtgärden! Om metoden inte hjälper eller blir sämre kan du återhämta dig till ditt tidigare tillstånd.

På Windows XP eller Windows Server 2000 installerar du den senaste installationsversionen 4.5.

Om detta inte hjälper, registrera om komponenterna:

  1. Tryck på "Win + R" och skriv " cmd". Skriv sedan in följande kommandon i sekvens i det svarta fönstret:
    MSIExec /avregistrera
    MSIExec /regserver
  2. Svaret ska vara tomt, inga fel. Om problemet inte är löst anger du ett annat kommando
    regsvr32 msi.dll
  3. Stäng det svarta fönstret

Om det står att du inte har tillräckligt med rättigheter måste du köra .

Om kommandona kördes, men inte hjälpte, kör sedan msi_error.bat från arkivet och kontrollera resultatet.

Det sista alternativet är att ladda ner programmet Kerish Doctor, det har en funktion för att fixa installationstjänsten och många andra vanliga Windows-problem.

Många program använder också .NET Framework, så det skulle vara en bra idé att installera den senaste versionen av detta paket. Och, slutligen, ytterligare ett råd: om det i sökvägen till distributionsfilen finns minst en mapp med ett mellanslag i början av namnet, ta bort utrymmet. Detta enkla trick löser ditt problem :)

Sammanfattande

Fel med Windows-installationsprogrammet är mycket obehagliga, det finns många av dem och det är inte direkt klart var man ska leta. En sak är klar - systemet har misslyckats och måste återställas till fungerande skick. Ibland hjälper ingenting och man måste. Men skynda dig inte att göra detta, försök be om hjälp på detta forum. Beskriv ditt problem exakt, berätta vad du redan har gjort, vilka meddelanden du har fått, så kanske de kan hjälpa dig! När allt kommer omkring är världen inte utan bra människor :)

Det vanligaste problemet som hindrar användare från att öppna den här filen är ett felaktigt tilldelat program. För att fixa detta i Windows OS måste du högerklicka på filen, i snabbmenyn, för musen över "Öppna med"-objektet och välj "Välj ett program..." från rullgardinsmenyn. Som ett resultat kommer du att se en lista över installerade program på din dator, och du kan välja lämpligt. Vi rekommenderar också att markera rutan bredvid "Använd den här applikationen för alla MSI-filer."

Ett annat problem som våra användare också stöter på ganska ofta är att MSI-filen är skadad. Denna situation kan uppstå i många fall. Till exempel: filen laddades ned ofullständigt till följd av ett serverfel, filen förstördes, etc. För att lösa problemet, använd en av rekommendationerna:

  • Försök att hitta filen du behöver i en annan källa på Internet. Du kanske har tur att hitta en mer passande version. Exempel på Google-sökning: "File filetype:MSI" . Byt bara ut ordet "fil" med det namn du vill ha;
  • Be dem skicka originalfilen igen, den kan ha skadats under överföringen;

God dag, Habr! Jag skulle vilja presentera ett intressant, enligt min mening, sätt att skapa msi-installatörer för vilken programvara som helst och, som ett resultat, distribuera den med hjälp av GPO. Jag skulle vilja betona att den beskrivna metoden inte innebär skapandet av "snapshots" av systemet, utan använder inbyggda programvaruinstallatörer, och endast gratis produkter för kommersiellt bruk används för att skapa msi.

Inledning, ett par länkar och en ansvarsfriskrivning

Varje vanlig programvaruinstallationsprogram har möjlighet att automatiskt installera med vissa eller standardparametrar. Kärnan i min metod är enkel och består i att paketera den inhemska installationsprogrammet i en msi "behållare" och starta den med de nödvändiga kommandoradsparametrarna. Det finns mycket information på Internet om att automatiskt installera den eller den applikationen, och jag kommer inte att fokusera på detta. Vårt mål, jag upprepar, är att installera programvara med hjälp av grupppolicyer. Förresten, vissa av er kanske hävdar att installationen kan göras via ZAW, men tyvärr är den här metoden endast tillämplig för installation med rättigheterna för den nuvarande användaren och kan inte användas för centraliserad automatisk installation av applikationer.

En intressant serie artiklar om att installera programvara via GPU. För nybörjare rekommenderar jag att läsa allt för att inte fråga senare vad skillnaden mellan "tilldelad" och "offentlig" installationstyp är.

Nödvändig programvara. Exe to MSI Converter freeware och den välkända späckhuggaren Den första behövs för att skapa en msi från en exe, och den andra behövs så att det resulterande msi smeknamnet kan installeras genom grupppolicyer.

Metoden gör inte anspråk på att vara helt unik och på vissa ställen kan det finnas överdrifter som skulle kunna undvikas, men detta beror på bristen på lust och behov av att fördjupa sig i parametrarna för msi-pakettabellerna. Det ursprungliga målet var att snabbt hitta ett gratis sätt att skapa msi och efter flera timmars läsning av utländska forum och oändliga omstarter av den virtuella maskinen, hittades metoden. Dessutom är artikeln inte en recension av programgränssnittet, och du kommer inte att se skärmdumpar.

Skapa och förbereda ett paket

Ett installationsexempel kommer att göras för Mozilla Firefox, eftersom detta är en välkänd produkt som inte har ett msi-installationsprogram från utvecklarna.
  1. Kör exe till msi och ange sökvägen till firefox exe-installationsprogrammet. Baserat på informationen som tidigare hittats på nätverket blir det klart att du tyst kan installera Firefox med parametrarna -ms -ira. Vi anger dem i det andra fältet exe till msi och klickar på "Bygg MSI".
  2. Det verkar som att allt är klart. Msi-paketet är klart. Genom att köra det resulterande resultatet kommer vi faktiskt att få firefox installerat på systemet och vi kan sätta stopp för artikeln. Tyvärr är det inte så enkelt. Det aktuella installationspaketet är inte lämpligt för distribution via GPO och när du startar din dator kommer du att få helt meningslösa fel i loggarna "ett oåterställbart fel har inträffat..." Och hela poängen är att utvecklarna av exe till msi också vill att äta och deras gratis produkt genererar msi "inte enligt reglerna."
  3. Nåväl, låt oss ta späckhuggaren och öppna vår emsianik i den.
  4. Först och främst, hitta tabellen i listan till vänster Fast egendom och var uppmärksam på två fält - Produktkod Och Uppgraderingskod. Dessa två fält måste vara unika för varje produkt, men vår exe till msi genererar alltid samma. Nåväl, inga problem, klicka på toppmenyn Visa -> Sammanfattningsinformation, hitta fältet Paketkod och klicka Ny GUID. Kopiera resultatet till urklippet och klistra in det Produktkod. Upprepa för Uppgraderingskod och slutligen för sig själv Paketkod. Precis där inne Sammanfattningsinformation redigera fältet Titel på Mozilla Firefox är resten valfritt. Detta påverkar faktiskt ingenting.
  5. I tabellen igen Fast egendom mig Produktnamn på Mozilla Firefox (jag ändrar mycket mer ARPKONTAKT Och Tillverkare). Du kan också ställa in rätt värde för Produktversion.
  6. Det verkar som att GUID och andra "ID" har ändrats, men som praxis visar är detta inte tillräckligt. Klicka på späckhuggaren Verktyg –> Validera, ta bort fågeln Visa INFO-meddelanden och tryck .
  7. Som du kan se dök det upp ett gäng fel angående närvaron/frånvaron av vissa tabeller och värden. Jag brydde mig inte och tog bara den första lilla msi som kom över (7zip x64 9.20) och kopierade de fyra saknade tabellerna därifrån (via Export-Import, förstås): _Validation, AdminExecuteSequence, AdminUISequence och AdvtExecuteSequence. Faktum är att jag är säker på att det är möjligt att skapa en "korrekt" msi-installerare, utan onödigt skräp, men glöm inte, vårt mål är bara att köra den inbyggda installationen av applikationen tyst.
  8. När du har lagt till tabellerna går du igenom det igen Verktyg –> Validera(förresten, du behöver inte göra kontrollen alls första gången och bara importera tabellerna direkt). Om du också tog msi från 7zip som grund, kommer resultatet att bli sex fel som måste elimineras. Klick Stänga, radera onödiga fält markerade med rött.
  9. I slutet kan du kontrollera valideringen igen och se till att endast varningar som inte stör något finns kvar. Spara msi.
  10. Det är i princip det, allt som återstår är att lägga till msi till GPU:n och tilldela de nödvändiga egenskaperna.

Nyanser

  1. När du installerar med metoden som beskrivs ovan kommer du att ha två kopior av programvaran. Den första är den faktiska applikationen du behöver, och den andra är det ursprungliga smeknamnet för msi, eftersom vi typ har installerat det. I princip påverkar detta ingenting förutom dess visning i "Lägg till eller ta bort program", och då endast i Windows XP (om du inte ändrat något annat än vad jag angav). Nackdelen kan vara uppkomsten av onödiga program under automatisk programvaruinventering, om du använder den.
  2. Du kommer inte att kunna ta bort programmet automatiskt med samma distributionsverktyg. Det kommer att fungera mer exakt, men bara den onödiga msi-behållaren kommer att tas bort. Tja, du kan mixtra med egenskaperna hos msi när du skapar den, så att den tar med sig en tidigare installerad applikation, lika tyst. Jag satte inte en sådan uppgift.
  3. När du installerar programuppdateringar måste du ange i egenskaperna för programmets GP så att den ersätter den tidigare, det vill säga den måste först ta bort den gamla. Detta garanterar att du inte kommer att ha samma vänsterhänta dubbletter av applikationer i "installera och ta bort program" som inte har gett upp till någon.
  4. För att installera ett program som har ett distributionspaket med flera filer måste du först paketera det i en exe, som, när den startas, packar upp sig själv och ger ett kommando för tyst installation. Jag rekommenderar att du skapar sfx-arkiv med samma 7-zip.
  5. Det finns inget som hindrar dig från att installera programvara genom startskript. Dessutom är den här metoden mer flexibel, och jag har använt den genom mina skript under lång tid. Men att använda inbyggda GPU-verktyg är mycket snabbare, eftersom att bara skapa en msi från en exe tar ett par minuter.
  6. Av någon anledning säger inte Windows 7 "Installerar ett hanterat program...", det säger bara "vänligen vänta." När du distribuerar en hel massa programvara på en gång för första gången eller när du installerar en tung applikation, kan detta uppmana användaren att ringa administratören eller trycka på återställningsknappen.
Det verkar vara allt, jag hoppas att det var intressant, dela din erfarenhet.

Om du har installerat på din dator antivirusprogram Burk skanna alla filer på din dator, såväl som varje fil individuellt. Du kan skanna vilken fil som helst genom att högerklicka på filen och välja lämpligt alternativ för att skanna filen efter virus.

Till exempel, i denna figur är det markerat my-file.msi filen, då måste du högerklicka på den här filen och välja alternativet i filmenyn "skanna med AVG". När du väljer det här alternativet öppnas AVG Antivirus och genomsöker filen efter virus.


Ibland kan ett fel uppstå som ett resultat felaktig programvaruinstallation, vilket kan bero på ett problem som uppstod under installationsprocessen. Detta kan störa ditt operativsystem koppla din MSI-fil till rätt applikationsprogramvara, påverka den sk "filtilläggsassociationer".

Ibland enkelt installerar om 7-Zip kan lösa ditt problem genom att länka MSI till 7-Zip korrekt. I andra fall kan problem med filassociationer härröra från dålig mjukvaruprogrammering utvecklare och du kan behöva kontakta utvecklaren för ytterligare hjälp.


Råd: Testa att uppdatera 7-Zip till den senaste versionen för att se till att du har de senaste patcharna och uppdateringarna.


Detta kan verka för uppenbart, men ofta MSI-filen i sig kan orsaka problemet. Om du fick en fil via en e-postbilaga eller laddade ner den från en webbplats och nedladdningsprocessen avbröts (som ett strömavbrott eller annan orsak), filen kan skadas. Om möjligt, försök att få en ny kopia av filen MSI och försök öppna den igen.


Försiktigt: En skadad fil kan orsaka sidoskador på tidigare eller befintlig skadlig programvara på din PC, så det är viktigt att hålla din dator uppdaterad med ett uppdaterat antivirusprogram.


Om din MSI-fil relaterad till hårdvaran på din dator för att öppna filen du kan behöva uppdatera drivrutiner associerad med denna utrustning.

Det här problemet vanligtvis förknippas med mediafiltyper, som är beroende av att man lyckas öppna hårdvaran inuti datorn, t.ex. ljudkort eller grafikkort. Om du till exempel försöker öppna en ljudfil men inte kan öppna den kan du behöva göra det uppdatera drivrutiner för ljudkort.


Råd: Om när du försöker öppna en MSI-fil får du .SYS-fil felmeddelande, problemet kan förmodligen vara associerade med skadade eller föråldrade drivrutiner som behöver uppdateras. Denna process kan göras enklare genom att använda programvara för drivrutinsuppdatering som DriverDoc.


Om stegen inte löser problemet och du fortfarande har problem med att öppna MSI-filer, kan detta bero på brist på tillgängliga systemresurser. Vissa versioner av MSI-filer kan kräva en betydande mängd resurser (t.ex. minne/RAM, processorkraft) för att kunna öppnas ordentligt på din dator. Detta problem är ganska vanligt om du använder ganska gammal datorhårdvara och samtidigt ett mycket nyare operativsystem.

Det här problemet kan uppstå när datorn har svårt att hinna med en uppgift eftersom operativsystemet (och andra tjänster som körs i bakgrunden) kan förbrukar för många resurser för att öppna MSI-fil. Försök att stänga alla program på din PC innan du öppnar Windows Installer Package. Att frigöra alla tillgängliga resurser på din dator ger de bästa förutsättningarna för att försöka öppna filen MSI.


Om du slutfört alla steg som beskrivs ovan och din MSI-fil fortfarande inte öppnas, kan du behöva köra uppdatering av utrustning. I de flesta fall, även när du använder äldre versioner av hårdvara, kan processorkraften fortfarande vara mer än tillräcklig för de flesta användarapplikationer (såvida du inte gör mycket CPU-intensivt arbete, såsom 3D-rendering, finansiell/vetenskaplig modellering eller intensivt multimediaarbete). Således, det är troligt att din dator inte har tillräckligt med minne(vanligtvis kallat "RAM" eller random access memory) för att utföra uppgiften att öppna en fil.

Vissa program och drivrutiner i Windows bör endast installeras med administratörsrättigheter. När det gäller EXE-filer finns alternativet att installera som administratör i snabbmenyn, som tas fram genom att högerklicka på filen. Det finns inget sådant alternativ för MSI-paket, men du kan lägga till det via registerredigeraren.

Instruktioner

Öppna dialogrutan Kör via startmenyn eller genom att trycka på tangentkombinationen Win+R. I fönstret som öppnas skriver du regedit och trycker på Enter. Registerredigeraren startar. Beroende på dina inställningar för användarkontokontroll kan du bli ombedd att bekräfta att du vill starta redigeraren.

Gå till grenen HKEY_CLASSES_ROOT\Msi.Package\shell. Högerklicka på "skal" och välj alternativet för att skapa en ny partition i menyn som öppnas.

Ett underavsnitt kommer att läggas till i avsnittet "skal". Byt namn på den till "runas" (inga citattecken behövs).

I fönstret till höger dubbelklickar du på "Standard"-tangenten eller en gång med höger musknapp och väljer "Ändra..." I det tomma värdefältet anger du "Kör som administratör". Bekräfta ändringarna genom att trycka på OK-knappen.

Högerklicka nu på "runas" och välj alternativet skapa partition igen. Skapa en undernyckel som heter "kommando" (utan citattecken).

Redigera "Default"-tangenten genom att ange kommandot "msiexec /i "%1"" i värdefältet (utan fiskbenscitattecken, men med citattecken för %1). Klicka på OK.