Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

PIF-Dateien unter Win98 anpassen


8 replies to this topic

manifesto

manifesto
  • Members
  • 6 posts

Posted 27 April 2001 - 10:24

Hallo,

ich muss eine alte DOS-Anwendung mit InstallShield ausliefern. Dabei erzeuge ich Icons auf dem Desktop, die bei Win98 als PIF-Dateien entstehen. Jetzt würde ich gerne einige Einstellungen dieser PIF-Dateien vornehmen (Symbolleiste ausblenden, Verhalten beim Beenden, Vollbildmodus). Über die Funktion AddFolderIcon läßt sich das ja nicht erreichen. Bleibt nur die Möglichkeit die PIF-Datei zu Fuß zu verändern ? Wenn ja, wie, da die PIF-Dateien an dieser Stelle keinen Klartext enthalten. Ich wäre für Hinweise oder Ideen dankbar.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 April 2001 - 12:25

Die einzige mir bekannt Möglichkeit ist, eine PIF-Datei manuell zu erstellen (auf einem Win98 Rechner) und diese dann bei der Installation zu kopieren.

manifesto

manifesto
  • Members
  • 6 posts

Posted 11 May 2001 - 08:57

Danke für den Tipp, aber das funktioniert aus mehreren Gründen so nicht.
1. Soll der Anwender entscheiden können, in welches Zielverzeichnis die Anwendung installiert wird. Damit müßte ich die entsprechenden Einträge in den PIF-Dateien variabel halten.
2. InstallShield läßt es nicht zu PIF-Dateien als zusätzliche Dateien unter den Setup-Dateien einzubinden. Er versucht die ausführbare Datei, die über die PIF-Datei gestarten werden soll, stattdessen einzubinden.
3. Wenn ich die PIF-Dateien manuell auf das Auslieferungsmedium (Disketten) kopiere, bleibt die Problematik mit dem variablen Installationspfad.

Der schönste Weg wäre, wenn man PIF-Dateien aus dem Script heraus manipulieren könnte.

Wäre für weitere Ideen dankbar.


bernd

bernd
  • Members
  • 5 posts

Posted 11 May 2001 - 09:49

Hi,
ich hatte/habe so ein ähnliches Problem. Meine bisherige Lösung ist das ich unter Windows 98 eine Verknüpfung auf eine PIF-Datei gemacht habe.
Also unter Windows 98 eine PIF-Datei erstellen und dann in InstallShield mit der Funktion AddFolderIcon eine Verknüpfung auf diese PIF-Datei erzeugen.
So bleibt der Pfad variabel und die sonstigen Einstellungen sind eben fest vorgegeben.

Gruss
Bernd


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 May 2001 - 10:47

Dabei muss natürlich der absolute Pfad in der PIF-Datei entfernt werden (bevor man sie dem Setup hinzufügt).

Um die Datei zu einer Dateigruppe hinzuzufügen, nicht über den Hinzufügen-Dialog gehen (denn das funktioniert nicht, wie Du schon bemerkt hast), sondern per Drag&Drop vom Windows-Explorer in die Dateigruppe schieben.


manifesto

manifesto
  • Members
  • 6 posts

Posted 11 May 2001 - 14:27

Die Frage die sich dann stellt ist, wie bekomme ich den Pfad für die Anwendung, das Arbeitsverzeichnis und die Symboldatei in diese 'leere' Pif-Datei ?

Der Weg von Bernd über eine Verknüpfung auf eine manuell erzeugte Pif-Datei ist für mich auch nicht ganz plausibel. Warum:

1. Der einzige Weg, in eine Verknüpfungsdatei bzw. Pif-Datei   den richten Pfad zur Anwendung (Installationspfad !) eingetragen zu bekommen, erscheint für mich über AddFolderIcon zu laufen.

2. Damit hätte ich auf Win98 eine Pif-Datei (unter NT eine Lnk-Datei), die eine gültige und funktionierende Verknüpfung zur installierten Anwendung enthält. Die Einstellungen für Vollbildmodus, Verhalten beim Schließen, Anzeige der Symbolleiste, etc. haben dann irgendwelche (ungewünschten) Standardwerte.

3. Wenn man jetzt eine manuell erzeugte Pif-Datei mit Verknüpfung auf die per AddFolderIcon erzeugte Pif-Datei zu Fuß von den Installationsmedien kopiert, dann weiß ich nicht, welche Einstellungen (s.o.) beim Start der Anwendung verwendet werden. Die (falschen) aus der mit AddFolderIcon erzeugten Pif oder die richtigen aus der manuell erzeugten und zu Fuß kopierten Pif-Datei.

Zur Zeit hab' noch das Problem, dass ich auf NT entwickle und die Tests für Win98 nur zu Hause durchführen kann.

Vielleicht könnt Ihr Eure Vorschläge anhand meiner obigen Überlegungen noch etwas exakter formulieren.

Vielen Dank für Unterstützung.


bernd

bernd
  • Members
  • 5 posts

Posted 11 May 2001 - 15:25

Hi,
ok ich versuche es mal (Ich arbeite übrigens auch unter NT)
Ich habe eine Batch-Datei app.bat diese nehme ich und lege sie unter Win98 in irgendein Verzeichnis (z.B. C:\temp\test\tool\).
Jetzt erzeuge ich (unter Win98) im selben Verzeichnis (also C:\temp\test\tool\) ein Verknüpfung auf diese app.bat und erhalte eine app.bat.pif.
In der Befehlszeile steht bei mir .\app.bat und im Arbeitsverzeichnis .
Für diese app.bat.pif ändere ich nun die gewünschten Eigenschaften.

Diese angepasste app.bat.pif nehme ich nun rüber auf Win NT und binde sie in InstallShield über "Dateigruppen" (per Drag&Drop) gemeinsam mit der app.bat ein. (Wichtig nach der Installation müssen die app.bat und die app.bat.pif im selben Verzeichnis stehen)

Im Script rufe ich dann die Funktion AddFolderIcon (FOLDER_DESKTOP, @PRODUCT_NAME, TARGETDIR ^ "app.bat.pif", TARGETDIR, TARGETDIR ^ "app.ico", 0, "", nFlag); auf.

Nach der Installation habe ich dann unter Win98 eine Verknüpfung auf dem Desktop die in der Befehlszeile .\app.bat und im Arbeitsverzeichnis den Pfad zur Anwendung (app.bat bzw. app.bat.pif) stehen hat. Alle Einstellungen wurden, von der von Hand erstellten app.bat.pif, übernommen.

Übrigens:
Mit einer unter NT erstellten lnk-Datei hat es nicht funktioniert.

Ich hoffe das hilft dir weiter.

Gruss
Bernd


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 May 2001 - 16:40

Okay, mein Plan war so:

Erstelle unter Windows 98 eine PIF Datei.
Mache alle Einstellungen so, wie Du es möchtest.
Ändere die Befehlszeile so, dass Sie nur den Namen der Datei enthält, die Du starten möchtest, aber keinen Pfad. Lösche auch das Arbeitsverzeichnis.
Gibt der Datei den gleichen Namen wie die Programmdatei (bis auf die Extension natürlich).
Installiere die PIF-Datei in das gleiche Verzeichnis wie die Programmdatei.
Mit AddFolderIcon erstellst Du einen Shortcut mit Ziel:
start.exe <TARGETDIR>\dateiname.pif
Du kannst eine beliebes Icon für den Shortcut angeben.

Ich glaube so (oder ähnlich) hat es bei mir schon mal funtioniert.


manifesto

manifesto
  • Members
  • 6 posts

Posted 14 May 2001 - 07:55

Herzlichen Dank,

jetzt funktioniert es so wie es soll. Die beiden Schlüssel-Ideen waren 'relative Pfadangaben' in der manuell erzeugten Pif-Datei und dass diese Pif-Datei mit der ausführbaren Datei ins gleiche Verzeichnis kopiert wird (es geht natürlich auch jedes andere dazu relative Verzeichnis).

Die per AddFolderIcon erzeugte Verknüpfung (Pif-Datei) übernimmt dabei sogar die Einstellungen der manuell erzeugten Pif-Datei.

Ich werde Euch weiterempfehlen ;-)
Gracias !