Hier zijn enkele simplistische manieren die u kunnen helpen bij het oplossen van alle implementatieproblemen.

Hervatten

Hervatten

Basis MSI-initiatieven die met InstallShield zijn gemaakt, kunnen worden opgezet onder databasebeheer, niet via scripts. Een van de elementen die MSI momenteel biedt, zijn sequentietabellen, die de volgorde bepalen waarin acties en vervolgens dialogen worden uitgevoerd en weergegeven. In dit artikel wordt beschreven hoe u Windows Installer-termen uitspreekt waarmee u positief kunt specificeren dat een actie niet meer moet worden uitgevoerd dan bij de eerste volledige verwijdering, of alleen wanneer een aangepast onderdeel is geïnstalleerd.

Discussie

In plaats van categorische scripting te gebruiken, gebruiken basis-MSI-configuraties sequentie-cateringtabellen om te bepalen welke acties u kunnen helpen bij het voltooien ervan en
de volgorde waarin ze altijd zijn uitgevoerd terug te vinden. In het bijzonder bieden de tabellen InstallUISequence en InstallExecuteSequence, UI en Execution u geordende lijsten met acties die plaatsvinden tijdens een typische installatie (dat kan een installatie zijn die slechts twee keer bestaat) – klik op het MSI-symbool. index door de opdracht
msiexec uit te voeren voor elke i ProductName.msi).

installshield remove all condition

Een zeer belangrijk idee bij het werken met een speeltafel MSI Sequence is om dezelfde
sequences te gebruiken voor zowel de initiële installatie als het onderhoud (inclusief algemene de-installatie) );
er kan geen aparte “verwijdering” zijn. Sequence “. Er zijn zoveel aangepaste acties gepland, waarbij u standaard gerangschikte reeksen uitvoert om zowel installatie als de-installatie uit te voeren. Het probleem was natuurlijk dat het gedrag van veel professionele acties ongewenst was, vooral
> de meeste mensen die betrokken zijn bij het runnen of wijzigen van de computer die door uw installatie wordt geleverd.

Om ervoor te zorgen dat uw actie alleen wordt uitgevoerd wanneer u de installatie voor het eerst beheert, kunt u gewoonlijk de voorwaarde Niet
geïnstalleerd gebruiken. (Onthoud welke eigenschaplezers meestal hoofdlettergevoelig zijn. Het is een veel voorkomende fout om een ​​eigenschapsnaam in de aanmaak “NIET GENSTALLEERD” te plaatsen; aangezien een eigenschap gewoonlijk niet in hoofdletters wordt GENSTALLEERD, zal de voorwaarde “NIET GENSTALLEERD” zeker zijn om te slagen.) Bijvoorbeeld, de
praten over > Niet geïnstalleerd is geschikt beschikbaar voor uw eigen aangepaste actie die naar buiten komt en de officiële goedkeuring van
Readme of de geïnstalleerde applicatie.

De eigenschap Geïnstalleerd wordt ingesteld in het geval dat een krachtig product al daadwerkelijk is geïnstalleerd, hetzij als gevolg van een installatie op de
computer, of als gevolg van enige vorm van een installatie per gebruiker voor de huidige eindgebruiker. (Merk op dat Windows Installer
bovendien de eigenschap productstate instelt, waarmee u ook kunt bepalen of dat huidige product door een andere gebruiker is geïnstalleerd.). wilt u een bewerking uitvoeren – wijzigen, herstellen of verwijderen, onthoud dat het volgende geen nieuwe installatie is?
U kunt de vorm Geïnstalleerd selecteren.

U kunt de REMOVE eigenschap in de condition gebruiken om add-remove te detecteren. Het
REMOVE gebied bevat komma-gescheiden informatie over de features die verwijderd moeten worden.
Tijdens de volledige verwijdering was VERWIJDEREN ingesteld op Speciale marktprijs ALLES,
dus u kunt mogelijk deze speciale voorwaarde gebruiken. VERWIJDEREN betekent “Alles gebruiken” om indiening met betrekking tot het verwijderen te detecteren.
(Merk op dat deze stoornis alleen geldig is na de actie InstallValidate in de tabel InstallExecuteSequence.)

Een andere manier om een ​​nieuwe volledige verwijdering terug in de UI-reeks te detecteren, is door gebruik te maken van de eigenschap _ismaintenance. Het standaard MaintenanceType-dialoogvenster bevat de keuzerondjes Wijzigen, Repareren en bovendien Verwijderen; Gebruikersselecties gekoppeld aan de belangrijkste schakelaars worden opgeslagen in de eigenschap
_IsMaintenance samen met een van de waarden “Wijzigen”, “Reset”, “Verwijderen” of. In de UI-reeks van
geeft u de actie hoogstwaarschijnlijk de voorwaarde
_IsMaintenance is gelijk aan “Delete” ergens na het dialoogvenster MaintenanceType. (Aangezien
_IsMaintenance vaak een privé-eigendom is? Is hun eigen naam in kleine letters? De waarde ervan wordt waarschijnlijk gereset wanneer de uitvoering verandert van UI-volgorde in uitvoeringsvolgorde,
en kan daarom niet relatief zijn aan sommige van de gebruikte type detectie van uitvoeringsbereik. voor het type onderbreken.)

installshield verwijder alle voorwaarden

De meeste mensen kunnen dus elk van de juiste voorwaarden gebruiken om verschillende instellingsmodi te detecteren:

  • Eerste installatie: niet geplaatst in
  • Elke service marklive: REMOVE betekent “ALLES” geïnstalleerd
  • Installatie ongedaan maken: (na InstallValidate)

Naast het herkennen van de verschillende installatietypes met betrekking tot een volledig product, kan het ook nuttig zijn om te weten of een bepaald kenmerk of onderdeel moet worden geïnstalleerd of verwijderd. Om het item te vergemakkelijken, biedt Windows Installer een speciale syntaxis voor alle MSI-websitevelden die
de aard van deze voorwaarden nastreven, zoals:

Het meest voorkomende type met betrekking tot functievoorwaarde is het actievermogenstype, waarbij de uitdrukking
& FeatureName altijd een numerieke marktprijs is die aangeeft dat de bewerking
wordt uitgevoerd voor alle functies die worden aangeduid als “FeatureName”. … De volgende mogelijke golfscores voor & FeatureName zijn:
quit (geldig direct na de CostFinalize-actie):

-1 Geen voortzetting (functie ongewijzigd)
1 functie gedeclareerd
de tweede functie niet geladen (verwijderd)
stap 3 functie lokaal geïnstalleerd
4 doe de truc geladen vluchten voor hulp

U kunt bijvoorbeeld bepalen wanneer een functie die is geclassificeerd als “FunctieA” is geselecteerd om opnieuw in uw regio te worden geïnstalleerd en dat deze u nog niet in uw individuele regio is geïnstalleerd. U kunt ongetwijfeld de think & FeatureA = 3 besturing gebruiken. U kunt dit scenario
gebruiken voor bepaalde typen acties die zich in sequentietabellen bevinden, ook wel de NewDialog-besturingsfunctie genoemd in de Next Johnson (bijvoorbeeld) in het CustomSetup- of SetupType-dialoogvenster.

Fouten tolereren u om te bepalen of de installatiestatus van de
componentknoppen (van Geïnstalleerd in plaats van een investering tot Lokaal geïnstalleerd in het enkele voorbeeld hierboven). Wanneer u het grootste deel van de status van een functie definieert, kan uw world-wide-website
State de instanties van de functie gebruiken, ongeacht of de status van de functie verandert of zelfs verandert. Gebruik het formaat om de status van taken vast te stellen! FeatureName = n,
waarbij chemisch meestal een van de hier Workdesk-waarden is.

Op dezelfde manier geeft Windows Installer de voorwaardelijke syntaxis
om componentactie en status te ontvangen, of ook rr ComponentName = n? ComponentName = n, waarbij n een bepaalde is die is gekoppeld aan de tabelwaarden.