2016-03-20 16 views
1

Bu yüzden, bir 64 bit makinede çalıştırılırsa bir dosya kümesini yüklemeli bir combo yükleyici ve diğeri ise 32 bit makinede çalıştım.Inno Kurulumu - 32-bit kipte çalışmaya zorla

Şu anda 64 bit bir makinedeyim. Yani bir komut satırı argümanı veya 32-bit modunda çalışan simüle başka herhangi bir yolu var mı? Sadece istediğim gibi çalışıp çalışmadığını kontrol etmek istiyorum.

Benim kod şöyle görünür:

[Setup] 
... 
ArchitecturesInstallIn64BitMode=x64 

[Files] 
Source: "Win64Data\filename.ext"; DestDir: "{app}"; Flags: ignoreversion; Check: IsWin64 
Source: "Win32Data\filename.ext"; DestDir: "{app}"; Flags: ignoreversion; Check: not IsWin64 

cevap

2

sayılı 32 bit sistemi taklit etmek için hiçbir jenerik yolu yok.

Elbette, 32 bitlik bir sanal makine oluşturabilirsiniz.


Özel durumunuz için, tam denetiminiz vardır.

[Files] 
Source: "Win64Data\filename.ext"; ...; Check: IsWin64Overridable 
Source: "Win32Data\filename.ext"; ...; Check: not IsWin64Overridable 

[Code] 

{ @TLama's function from https://stackoverflow.com/q/14392921/850848 } 
function CmdLineParamExists(const Value: string): Boolean; 
var 
    I: Integer; 
begin 
    Result := False; 
    for I := 1 to ParamCount do 
    if CompareText(ParamStr(I), Value) = 0 then 
    begin 
     Result := True; 
     Exit; 
    end; 
end; 

function IsWin64Overridable: Boolean; 
begin 
    Result := IsWin64 and (not CmdLineParamExists('/Win32')); 
end; 
+0

Eklenen örnek komut dosyası benim güncellenen yanıta bakın –

+0

: Dolayısıyla, sadece bir komut satırı anahtarı ile geçersiz kılma sağlayan özel bir işlevle IsWin64 function değiştirin. –

İlgili konular