| Autor |
Beitrag |
Cäptin Pommes
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Di 09.02.10 22:16
Hallo,
Ich habe ein Spiel programmiert mit dem XNA Framework und versuche nun schon die ganze zeit das Framework mit in den Installer zu packen. Ich hab schon ne ganze menge tools probiert zum Installer erstellen aber irgentwie bekomm ich das nicht hin :/
Also wenn jemand weiss wie man das macht währe toll wenn er mich an dem Wissen teilhabenlässt ;) Moderiert von Christian S.: Topic aus C# - Die Sprache verschoben am Di 09.02.2010 um 21:21
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Di 09.02.10 22:23
Hat das Framework einen eigenen Installer?
InnoSetup, das Framework ins Temp Verzeichnis entpacken, und beim Setup aufrufen lassen, Abschnitt [Run]
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Cäptin Pommes 
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Di 09.02.10 22:39
ja es hat einen Installer, aber wie sol ich das den entpacken? Ich kann es höstens installienr aber da kann ich kein pfad angeben
oder wie meinst du das?
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Di 09.02.10 22:45
Hm?
Wenn ich bei meinen Anwendungen einige Voraussetzungen mitinstallieren muss, mach ich das so:
- Zusätzlichen Installer mit installieren, Zielverzeichnis: {tmp}
- Unter Run noch eintragen, dass {tmp}\MyInstaller.exe gestartet werden soll.
Edit:
Beispiel
Quelltext 1: 2: 3: 4: 5: 6:
| [Files] Source: ..\USBTreiber\CDM 2.04.06.exe; DestDir: {tmp}; Components: USBDriver
[Run] Filename: {tmp}\CDM 2.04.06.exe; WorkingDir: {tmp}; Components: USBDriver |
In deinem Fall kann es sein, dass der Benutzer sich noch selber durch das Setup klicken muss, aber da wirst du wohl nicht viel machen können, es sei denn der Installer unterstützt einen Silent-Modus.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Cäptin Pommes 
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Di 09.02.10 23:36
hab das jetzt versucht:
Quelltext 1: 2: 3: 4: 5:
| [Files] ...\bin\x86\Debug\xnafx31_redist.msi; DestDir: {tmp}
[Run] Filename: {tmp}\xnafx31_redist.msi; WorkingDir: {tmp} |
hat aber nicht geklappt da sagt er mir:
Could not copy "C:\.... bla bla bla...\SETUPLDR.E32" to "C:\....bla bla bla....\Output\setup.exe". Error 5: Zugriff verweigert.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Di 09.02.10 23:51
Klingt eher so, als würde da was anderes nicht stimmen..
Entweder, er kann eine andere Datei nicht finden, oder du hast keine Schreibrechte im Output Verzeichnis
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Cäptin Pommes 
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Mi 10.02.10 07:28
also ohne das macht er das aber. Also wenn ich nur mein Programm in ein Installer mache
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Mi 10.02.10 09:36
Die Fehlermeldung heißt ja eigentlich nur, dass er die Setup.exe nicht erstellen kann.
Er packt erst mal alles in eine temporäre Datei zusammen und kopiert es dann als Setup.exe ins OutputDir. Das kann mit der Installation der MSI eigentlich nichts zu tun haben. Es sei denn, Deine Festplatte ist z.B. so voll, dass es mit einer kleinen Setup.exe ohne die MSI noch passt und mit der MSI zu groß ist.
Edit: Im [RUN] musst Du bei einer MSI noch das Flag Shellexec angeben. Bei mir sieht das z.B. so aus:
Quelltext 1:
| Filename: {tmp}\CR\CRS_German.MSI; StatusMsg: Installiere Bla Runtime. Dies kann einige Minuten in Anspruch nehmen.; Flags: shellexec waituntilterminated; Check: DoCRInstall |
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Cäptin Pommes 
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Mi 10.02.10 16:39
also speicherplatz is mehr als genug vorhanden
und was checkt er mit Check: DoCRInstall?
und brauch ich denn jetzt kein WorkingDir: {tmp}; mehr? (weil in deinem beispiel is das ja nicht drin)
|
|
Cäptin Pommes 
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Mi 10.02.10 19:49
also ich hab das jetzt mit dem Flag gemacht aber es kommt die gleiche fehlermeldung
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mi 10.02.10 19:58
Nochmal: Das liegt nicht (direkt) am XNA Framework.
Fehler 5 bedeutet wirklich, dass der Zugriff auf die Zieldatei (also das Setup, das gerade gebaut wurde) verweigert wurde.
Mal ganz blöd gefragt: Läuft das Setup noch / schon?
Wenn nicht: Gibt es den Ordner Output an der erwarteten Stelle?
Ansonsten, mehr Input. Welches OS, welche Inno Setup Version? Benutzt du das IS Tool?
Was passiert, wenn du IS als Admin startest?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Cäptin Pommes 
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Mi 10.02.10 20:11
Also ich hab Windows7 64bit
ISTool version: 5.3.0.1
InnoSetup: unterstützte version: 5.3.0
installierte version: 5.3.7
und diesen Output ordner scheint es wirlich nicht zu geben wie ich gerade festgestellt habe, aber ich hab ihn per hand hinzugefügt und es hat leider nix gebracht.
|
|
Cäptin Pommes 
      
Beiträge: 142
Erhaltene Danke: 2
|
Verfasst: Mi 10.02.10 21:03
so ich habs hinbekommen
ich musste den Output ordner wo anders hinverlegen und noch irgent so ne einstellung ändern jeden falls gehts jetzt
danke für die hilfen
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 11.02.10 08:11
Cäptin Pommes hat folgendes geschrieben : |
und was checkt er mit Check: DoCRInstall? |
Nur um es vollständig zu machen: Man kann in der Section Code eigene Funktionen schreiben. Diese Funktion prüft, ob diese Runtime überhaupt installiert werden muss, oder ob es schon installiert ist (dann kann man sich die Installation sparen). Gibt die Funktion, die man bei Check: angibt True zurück, dann wird die Zeile ausgeführt, gibt sie false zurück, dann wird sie nicht ausgeführt.
Du kannst das Check: DoCrInstall also einfach weglassen.
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Do 11.02.10 10:08
Cäptin Pommes hat folgendes geschrieben : | ich musste den Output ordner wo anders hinverlegen und noch irgent so ne einstellung ändern jeden falls gehts jetzt  |
Ich kann ja immer noch nicht glauben, dass das in exakt diesem Ordner, mit exakt den selben Einstellungen, funktioniert, wenn du das XNA Framework weggelassen hast.
Aber lass mich raten: Output war ein Unterverzeichnis in Programme, z.B. "c:\Programme\InnoSetup\MeinSkript\Output" ? Deswegen meine Frage, was passiert, wenn du IS als Admin ausführst.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|