Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Innosetup: Programm 2mal installieren, 2 Verknüpfungen (https://www.delphipraxis.net/152928-innosetup-programm-2mal-installieren-2-verknuepfungen.html)

hoika 13. Jul 2010 10:57

Innosetup: Programm 2mal installieren, 2 Verknüpfungen
 
Hallo,

ich muss ein Programm 2mal (in 2 verschiedene Pfade) installieren.
Auf dem Desktop sollen dann 2 Verknüpfungen angelegt werden.
Wenn möglich, sollte der Name der Verknüpfung auch einstellbar sein.

Weiss jemand einen Tip ?

Danke


Heiko

Daniel 13. Jul 2010 11:09

AW: Innosetup: Programm 2mal installieren, 2 Verknüpfungen
 
Moin,

sollen das zwei individuelle Installations-Vorgänge werden oder soll es so sein, dass ein Installations-Vorgang zwei Kopien der Anwendung auf dem PC ablegt?

blackfin 13. Jul 2010 11:17

AW: Innosetup: Programm 2mal installieren, 2 Verknüpfungen
 
Du kannst in InnoSetup in der Gruppe [Icons] so viele Desktop-Verknüpfungen anlegen wie du willst.

Ein zweites Installations-Verzeichnis kannst du vom User z.B. über die Funktion CreateInputDirPage() auswählen lassen.
Allerdings musst du dann das Kopieren der Dateien in dieses Verzeichnis selbst über Pascal Script schreiben, da das Inno Setup nicht automatisch macht und keine {app}-Konstante dafür verfügbar ist.

hoika 13. Jul 2010 12:36

AW: Innosetup: Programm 2mal installieren, 2 Verknüpfungen
 
Hallo,

Zitat:

sollen das zwei individuelle Installations-Vorgänge
Genauso. Es könnten auch mehr sein.
Die manuelle Auswahl des Ziel-Verzeichnisses war ja auch kein Problem.

Der Rechner kann von 2 Nutzern verwendet werden.
Jeder bekommt eine eigene Programm-Version in ein eigenes Verzeichnis.

Ich soll nur das Setup-Programm schreiben,
also bitte keine Sprüche wie "special folders benutzen".


Heiko

Sir Rufo 13. Jul 2010 14:01

AW: Innosetup: Programm 2mal installieren, 2 Verknüpfungen
 
Das wäre eine Möglichkeit:
Delphi-Quellcode:
#define MyAppName "Inno User Setup"
#define MyAppVersion "1.0.0"
#define MyAppPublisher "ich"
#define MyAppExeName "Test.exe"
#define MyAppContact "ich"
#define MyAppCopyright "2010"
#define MyAppComments "Nur ein Test"
#define MyAppID "C5F1D397-9695-9999-8B4E-3D9A5EE25619"
#define MyAppMutex "InnoSetupTest"

#include AddBackslash(CompilerPath) + "Lib\Uninstall.iss"

[Setup]
AppName={#MyAppName}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={userappdata}\{#MyAppPublisher}\{#MyAppName}
DisableDirPage=true
DefaultGroupName={#MyAppPublisher}\{#MyAppName}
DisableProgramGroupPage=true
OutputDir=Setup
OutputBaseFilename={#MyAppPublisher} {#MyAppName} {#MyAppVersion} InnoSetup
Compression=lzma/ultra64
SolidCompression=true
VersionInfoVersion={#MyAppVersion}
VersionInfoCompany={#MyAppPublisher}
VersionInfoCopyright=©{#MyAppCopyright}
AppVersion={#MyAppVersion}
;{code:GetFileVersion|{#MyAppExeName}}
UsePreviousLanguage=no
AppID={{{#MyAppID}-{code:GetUserName|}}
AppContact={#MyAppContact}
UninstallDisplayIcon={app}\{#MyAppExeName}
UninstallDisplayName={#MyAppPublisher} {#MyAppName} {#MyAppVersion} {code:GetUserName|}
WindowVisible=false
BackColor=$8cffff
AppCopyright=©{#MyAppCopyright}
AppComments={#MyAppComments}
InternalCompressLevel=ultra64
VersionInfoDescription={#MyAppComments}
AppMutex={#MyAppMutex}_{code:GetUserName|}

[Languages]
Name: german; MessagesFile: compiler:Languages\German.isl

[Files]
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Source: *.txt; DestDir: {app}

[Icons]
Name: {userdesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; WorkingDir: {app}

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
   UninstallOldVersion( '{{#MyAppID}-' + GetUserNameString + '}', true, true );
end;

function GetUserName( bla : string ) : string;
  begin
    RESULT := GetUserNameString;
  end;

function GetFileVersion( Filename : string ): String;
begin
  if not GetVersionNumbersString( Filename, RESULT ) then
    RESULT := '';
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz