2017-09-16 3 views
1

J'ai essayé de faire fonctionner deux fonctions dans un Check. Quand j'utilise plus d'une fonction, aucune d'entre elles ne fonctionne. Par exemple:Deux ou plusieurs fonctions ne fonctionnent pas lorsqu'elles sont utilisées dans un paramètre Check

[Files] 
Source: MyProg.exe; DestDir: "{app}"; Flags: ignoreversion; Check: portable and install; 
Source: MyProg.dll; DestDir: "{app}"; Flags: ignoreversion; Check: portable and install; 
Source: MyProg.ini; DestDir: "{app}"; Flags: ignoreversion; Check: portable and install; 

Quand j'utilise un seul chèque portable ou installer, il fonctionne même si je sais que je peux répéter la source Dir et placer l'autre chèque comme celui-ci:

[Files] 
Source: MyProg.exe; DestDir: "{app}"; Flags: ignoreversion; Check: portable; 
Source: MyProg.dll; DestDir: "{app}"; Flags: ignoreversion; Check: portable; 
Source: MyProg.ini; DestDir: "{app}"; Flags: ignoreversion; Check: portable; 

Source: MyProg.exe; DestDir: "{app}"; Flags: ignoreversion; Check: install; 
Source: MyProg.dll; DestDir: "{app}"; Flags: ignoreversion; Check: install; 
Source: MyProg.ini; DestDir: "{app}"; Flags: ignoreversion; Check: install; 

Mais comme je J'ai beaucoup de fichiers, je veux utiliser plus d'une fonction dans un Check pour ne pas copier et coller trop de lignes sources dans la section [Files].

Répondre

1

Ce:

[Files] 
Source: MyProg.exe; DestDir: {app}; Check: portable and install 

est pas identique à:

[Files] 
Source: MyProg.exe; DestDir: {app}; Check: install 
Source: MyProg.exe; DestDir: {app}; Check: portable 

Le premier dit installer le fichier, lorsque les deux portableetinstall sont vraies/sélectionnées. Ce qui ne se produira probablement jamais.

Alors que ce dernier dit installer le fichier, lorsque l'portableouinstall sont vraies/sélectionnées.


Donc, vous voulez utiliser or opérateur au lieu de and:

[Files] 
Source: MyProg.exe; DestDir: {app}; Check: portable or install 
+0

Est-ce la même chose quand j'utiliser l'enregistrement: IsWin64; ou Vérifier: "pas IsWin64"; Puis-je les combiner? Ex: vérifier: IsWin64 ou installer; ? – Thebig1825

+1

Oui. Bien que 'IsWin64 ou Install' n'a pas de sens pour moi. Vous voulez probablement 'IsWin64 et Install'. –

+0

Ahh ok, donc je peux les combiner comme: Vérifier: Iswin64 et installer ou portable – Thebig1825