2013-03-25 13 views
7

Jedes Mal, wenn ich mein Installationsprogramm kompiliere, ist das Standardinstallationsverzeichnis C: \ Programme \ Company \ Product und ich kann es anscheinend nicht ändern. Hier ist, was ich unter Einrichtung bekam:Inno Setup Standardinstallationsordner ändern

[Setup] 
AppName=MyProduct 
AppVerName=MyProduct 
AppPublisher=Company 
DefaultDirName=C:\MyStuff\Company\MyProduct 
DefaultGroupName=Company\MyProduct 
UninstallDisplayIcon={app}\MyProduct.exe 
UninstallDisplayName=MyProduct Uninstall 
PrivilegesRequired=poweruser 
OutputDir=userdocs:Inno Setup Examples Output 
OutputBaseFilename=Setup 
DisableDirPage=false 
DisableProgramGroupPage=true 
VersionInfoCompany=Company Inc 
VersionInfoProductName=MyProduct 
AllowUNCPath=false 

auf den Dokumentationen Basierend sollte DefaultDirName diktieren die Standardordner installieren. Aber das tut es nicht.

Mein Fall ist insbesondere, dass ich den Standard-Installationsordner auf x64-Maschinen zu C: \ Programme festlegen möchte, aber das Installationsprogramm immer Programmdateien (x86) unabhängig davon, was ich in den DefaultDirName.

+0

Bei einer x86-Anwendung sind 'C: \ Programme (x86) \' und 'C: \ Programme \' derselbe Ordner. – Deanna

+0

Wenn Sie eine 64-Bit-Anwendung haben, sollten Sie den 64-Bit-Installationsmodus aktivieren, und dann wird es tun, was Sie zu haben scheinen. Wenn Sie eine 32-Bit-Anwendung haben, dann tut Inno bereits das Richtige und der Versuch, die Installation in den 64-Bit-Programmordner zu erzwingen, wäre sehr schlecht. – Miral

Antwort

16

Der zuletzt ausgewählte Installationsordner hat die Priorität vor dem DefaultDirName-Direktivenwert, wenn die UsePreviousAppDir-Direktive auf yes eingestellt ist, was standardmäßig der Fall ist. Wenn Sie das durch DefaultDirName angegebene Verzeichnis erzwingen möchten, deaktivieren Sie die Anweisung .

Wenn Sie die Funktionalität mit dem letzten Verzeichnis beibehalten und dies nur für Ihre Tests überwinden möchten, deinstallieren Sie einfach die vorherige Installation, bevor Sie das neue integrierte Setup ausführen.

+0

Süße. Vielen Dank! – Mossi

+0

Ich bin froh, dass ich helfen konnte! – TLama

+3

Beachten Sie, dass Sie normalerweise 'UsePreviousAppDir' ** ** nicht ausschalten sollten, da dies die Erwartungen des Benutzers verletzt. Deinstallieren zuerst während des Testens ist die richtige Antwort. – Miral

Verwandte Themen