Announcement

Collapse
No announcement yet.

Upgrade code GUID?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Upgrade code GUID?

    Hallo, habe mir die InstallShied Basic Testvevision zum ausbrobieren geladen, da ich für ein vorhandenes Programm ein Update brinen möchte. IS verlangt nach einer *.msi Datei die ich nicht habe und auch in den allg. Informationen mit GUID nicht erzeugen kann. Was mache ich falsch ?

  • #2
    Intern besitzt jede MSI-Datei mehrere GUIDs. Die gebräuchlichsten sind der Packagecode, der die MSI-Datei quasi identifiziert. Dann gibt´s den Produktcode, der das Produkt im System identifiziert (zwecks Nachinstallierung von Features usw.), und dann gibt´s den Upgradecode, der bei einem Update als neuer Produktcode verwendet werden sollte. So steht´s zumindest in der MSI-SDK-Hilfe, die man im Platform-SDK findet.

    Ich habe keine Ahnung, wie ISBasic funktioniert. Ich benutze die Tools aus dem SDK (und wie ich so höre, bin ich da nicht der einzigste )). Da der ISBasic aber offensichtlich die Installerfunktion von Microsoft nutzt, dürfte das Problem daran liegen, dass die vorhandene Version entweder nicht bekannt ist, bzw. dass dir der Upgradecode dieser Datei fehlt.
    Die Frage ist: auf welche Weise hast du die vorhandene Version installieren lassen? Ich tippe mal darauf, dass ISBasic die MSI-Datei dieser "alten" Version sucht, um den Upgradecode auszulesen.

    Wenn du aber InstallShield Express benutzt hast, wird es schwierig werden. In dem Fall solltest du bei ISExpress bleiben und vor dem Update vielleicht die Deinstallation der alten Version "anleiern".

    Eine Empfehlung von einem guten Freund zu solchen Themen ist:
    http://www.installsite.org/.
    Ich poste da zwar nicht, aber besagter Freund hält mich auf dem Laufenden, weil ich ja auch mit dem MSI rumbastle )

    Gruß,
    Mathias

    Comment


    • #3
      Hallo, vielen Dank für die ausführliche Info. Ich habe mein Programm mit D6Prof. geschrieben und mit dem mitgeliefertem IS installiert. In der "allg. Informationen" steht der Productcode sowie der Upgrade code in geschweiften Klammern. Es ist aber keine msi zu finden. Auch wenn ich mein Programm mit dem IS Basic installiere, wird keine msi Datei erzeugt. Diese Datei wird aber unbedingt für ein Update meiner Anwendung benötigt. Hat das evtl. etwas mit der Basic Version zu tun

      Comment


      • #4
        Hallo noch mal.<br>
        Also, wenn es etwas mit der Basicversion zu tun hat, dann bestenfalls nur, weil das Originalprodukt anders installiert worden ist. Ich will damit sagen: InstallShield ist nicht gleich InstallShield.<br><br>
        Ich habe z.B. Delphi5Pro, und da liegt ja ISExpress bei. Keine Ahnung, welche Version, jedenfalls nutzt dieser Installer seine eigene Scriptsprache und (ich nenn´s mal so Installationstechnik.<br><br>
        Du hast nicht geschrieben, welche IS-Version bei Delphi6 beiliegt.<br><br>
        Du hast dir offensichtlich die Testversion des <b>InstallShield for Windows Installer</b> (ISfWI) heruntergeladen, die als Installationsquelle und -technik die MSI-Datenbanken von Microsoft benutzt. Nun ist die Frage:<br><br>
        Als du dein Programm mit dem IS von Delphi6 ausgestattet hast, ist dabei am Ende eine MSI-Datei herausgekommen, die du deinen Kunden/Anwendern gegeben hast?<br><br>
        Wenn nein, dann kannst du den ISBasic nicht benutzen, weil er eine ganz andere Installationstechnik benutzt. Wenn ja, dann sollte es eigentlich auch weiter mit dem IS von Delphi6 gehen.<br><br>
        Ich schlage vor, du kontrollierst das noch mal und benutzt für dein Update den selben Installer wie für das Original. Das sollte auf jeden Fall klappen. Wenn du den ISBasic und die MSI-Dateien benutzen willst, dann erstelle kein Update sondern eine völlig neue Installation und lass vom Setup vorher die Deinstallationsroutine der alten Version starten.<br><br>
        Ich hoffe, ich konnte dir ein bisschen weiterhelfen.<br>
        Gruß,<br>Mathias

        Comment


        • #5
          Hallo, ja Danke. Ich habe meine Anwendung nochmal mit ISBasic "installiert" und jetzt geht's auch mit dem Update. Ich habe aber noch nicht herausgefunden, wie man einzelne Dateien updaten kann. Das muß doch möglich sen, nur bestimmte Datei zu ändern, ohne die gesamte Anwendung updaten zu müssen. Kannst Du bitte nochmal helfen ? Danke im voraus

          Comment


          • #6
            Das nennt sich dann Patch. Bzw: das würde sich dann anbieten.
            Das Problem ist, dass ich InstallShield nicht verwende. Ich arbeite mit den Dateien, die dem MSI-SDK beiliegen. Wie das also beim IS funktioniert, kann ich dir leider nicht sagen. Aber wenn´s dich interessiert, dann schau doch mal unter
            http://www.reihe5.de/die-quelle
            .<br><br>
            Da findest du einen Link zu einer MSI-Doku von mir, in der ich´s mit den Standardtools des SDK erklärt habe. Vielleicht hilft dir das dann weiter. Ansonsten muss ich dich leider auf die Hilfe verweisen, die dem IS beiliegt.

            Gruß,
            Mathias

            Comment

            Working...
            X