update the modify file in new release

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • mcme
    Forum Member
    • Oct 2005
    • 7

    update the modify file in new release

    Hello guys,

    I am using this visual patch since last 2-3 month and now i have issue with updating file which is modify in previous release by application.
    for example : I have file named abc in my release 1.1 and with release 1.2 we need to modify that file but the problem here is that abc file has different CRC value on users software depends on their settings and their ID and when my patch try to update this file it it does not match the CRC value (might be different as user has their own ID in it) so IS their any way i can say update this file with new one without comparing old CRC value.

    It make me nervous that I can't update the file and i think their must be some workaround to solve but i need your help to fix this issue.

    Any help in this matter will be appriciate.

    Thanks again.
  • Lorne
    Indigo Rose Staff Member
    • Feb 2001
    • 2729

    #2
    You can force Visual Patch to always update that file, even if it's different. Just double-click on that file in the file list, and enable the "Force install" option.

    Note that this will replace the user's file with the newer version. If you want to modify the user's abc file without overriding the changes they've made to it, you will need to modify it using actions. (For example, if it's an INI file you can use the INI file actions, or if it's a text file you can read it into a string and manipulate that...)
    Attached Files
    Last edited by Lorne; 06-01-2006, 03:30 PM.
    --[[ Indigo Rose Software Developer ]]

    Comment

    • TJS
      Indigo Rose Customer
      • Oct 2005
      • 524

      #3
      Lorne's suggestion about using actions is probably the way you want to go mcme. I suspect your working with java .properties files... if that is the case some options would be to use the File.Replace() or File.Install() actions. VP doesn't have a set of actions specifically designed to deal with the .properties format like they do for .ini but you could easily create a set of global functions to handle targeted finds and replaces inside of your files.
      Yeah right. Who's the only one here who knows the illegal ninja moves from the government?

      ()))))))))o)))))))==============================================

      Comment

      • Steven Carr
        Indigo Rose Customer
        • Jul 2001
        • 139

        #4
        I had a similar issue for one program while using true update.

        In my case i could not simply overwrite the old file but had to update portions of it while keeping the other customised sections.

        What i did was to exclude the customer modified file from the (true) update.

        Then have another file which contained details about the changes to be main - this file was then flagged as always install from TU.

        When the application ran it looked for this file - if it existed the application then updated the settings and removed the file after a successful update.

        In the end this was easier for me than using actions as the code which handles the configuration and know how to update itself is all in one spot. Rather than having installers, updaters and the application knowing how to handle the configuration - it was all in the application.

        Comment

        • mcme
          Forum Member
          • Oct 2005
          • 7

          #5
          older version

          Thanks for reply.

          Since my company is using VP 1.0 and when i tried i think it has option for 'Force Install' only for newly install file not for the files in previous version.
          so do you think i can achive this goal (updating file config.properties).

          I don't want to use true update for this as need is to include everything in one patch.

          Comment

          • Steven Carr
            Indigo Rose Customer
            • Jul 2001
            • 139

            #6
            Sorry i meant Visual Patch. :o When reading TU in above post think VP.

            At that time i was using SetupFactory, TrueUpdate and Visual Patch - and the wrong one spewed from my fingers.

            "Force Install" is not in TU it is in VP.

            Comment

            • TJS
              Indigo Rose Customer
              • Oct 2005
              • 524

              #7
              why not upgrade?

              I think this is why mcme is using VP 1.0 instead of 2.0.

              Yeah right. Who's the only one here who knows the illegal ninja moves from the government?

              ()))))))))o)))))))==============================================

              Comment

              • Steven Carr
                Indigo Rose Customer
                • Jul 2001
                • 139

                #8
                Not being able to create patches which can fit onto floppies used to be a problem.

                It is probably the ONLY thing VP2 doesn't does do better than VP1.

                For what i do with VP2 these days i could not even concieve of with VP1.

                If i ever had to distribute to floppy i would simply build an SetupFactory version - this does away with verifying the current install but you could easily do that with SF7 - it just doesn't have the IDE niceties for it.

                Hrm - i cannot remember a lot of the stuff in VP1 and don't have it installed anymore - just remember how i got around that problem of updating modified files which was basically the application picked up a "modification list" and then applied that to the current config file. Did this for Updates (VP1) and installs (SF5 or SF6 at the time).
                Last edited by Steven Carr; 06-02-2006, 09:00 AM.

                Comment

                • TJS
                  Indigo Rose Customer
                  • Oct 2005
                  • 524

                  #9
                  mcme,

                  Switching to VP2 is were you will want to be. It provides a boatload of improvements over VP1 the most significant being the script-ability.

                  If you still need your patches broken up into smaller chunks here's a trick that might work.

                  1) Create your patch in VP2.
                  2) Use WinZip to compress the patch into a zip file (you won't see much benefit from the compression as VP's is already about as good as it gets... maybe better).
                  3) In the WinZip tool go to the ACTION menu and select SPLIT.
                  4) Define a name for your split files (different from the original zip)
                  5) Define the PART SIZE at the bottom of the split dialog
                  6) WinZip will chunk up your archive into several files with the name defined in step 5. The first will have a .zip extention the rest will have .z01, .z02 ... .znn.
                  7) Now you can distribute the parts separately and reassemble them on the other side.

                  Hope this helps!
                  Yeah right. Who's the only one here who knows the illegal ninja moves from the government?

                  ()))))))))o)))))))==============================================

                  Comment

                  • Lorne
                    Indigo Rose Staff Member
                    • Feb 2001
                    • 2729

                    #10
                    I'd recommend 7-Zip over winzip...better compression, choice of archive formats (.7z, .zip, .rar, etc.), better interface, and it's free.

                    You might also be able to use a free splitting tool like hjsplit.

                    Another huge advantage of VP2 over VP1 is binary differencing - it can create much smaller patches than VP1 could.
                    --[[ Indigo Rose Software Developer ]]

                    Comment

                    • mcme
                      Forum Member
                      • Oct 2005
                      • 7

                      #11
                      update to 2.0

                      when i tried to migrate my project from version 1.0 to 2.0 it say can't open all setting... Is there any tips for tha one or need to go from start.

                      Now here is the things i need to know from you guys
                      1. Right now it is setting appfolder where my keyfiles is but i want to set it at one level up for ex. my key file is at c:\mysoftware\folderA but i want appFolder to c:\mysoftware.

                      2. I developed my own screen which is called by .bat file so person will see screeen softerware is updating ( i don't like to use vp2.0 built in fuction at this time) so how do I perform action which is performed in VP1.0 by shell opertion then execute.

                      Thanks for replying me quickly and i can see now i get good forum compared to other forum.

                      Everybody you have nice weekend but i will work until i found solutions.

                      Comment

                      • TJS
                        Indigo Rose Customer
                        • Oct 2005
                        • 524

                        #12
                        For problem 1, you can use relative pathing.

                        Example:
                        %AppFolder% = c:\mysoftware\folderA\
                        %AppFolder%\..\ = c:\mysoftware\

                        For problem 2, there should be a screen in VP1 where you can define pre and post actions. If you include your the execution of your batch file as a pre-action, it will run before the patching process begins.

                        P.S. I send you a couple private messages too.
                        Yeah right. Who's the only one here who knows the illegal ninja moves from the government?

                        ()))))))))o)))))))==============================================

                        Comment

                        • Lorne
                          Indigo Rose Staff Member
                          • Feb 2001
                          • 2729

                          #13
                          Originally posted by mcme
                          2. I developed my own screen which is called by .bat file so person will see screeen softerware is updating ( i don't like to use vp2.0 built in fuction at this time) so how do I perform action which is performed in VP1.0 by shell opertion then execute.
                          Assuming you want only your screen to be shown, and your project is set up to not display any built-in screens:
                          1. In the Program Menu, choose Project > Actions.
                          2. Click on the On Pre Patch tab.
                          3. Click the Add Action button.
                          4. Choose the Shell category.
                          5. Select Shell.Execute and click Next.
                          6. Edit the settings, and then click Finish.
                          You could also use a File.Run action (in the File category) which has some different options.

                          The screens in VP2 are a lot more "customizable" than the ones in VP2, so you might be able to reproduce your custom screen right in VP2.
                          --[[ Indigo Rose Software Developer ]]

                          Comment

                          • mcme
                            Forum Member
                            • Oct 2005
                            • 7

                            #14
                            still need explnation

                            I would like to use appfolder in following situations
                            Now my appfolder is c:\mysofware\folderA (because i have key file ther..)
                            when i would like to update different folderA and folderB and FolderC under my c:\mysoftware but since everytime it treats my folderA as appfolder i can not update wnother folder inside mysofware
                            logfiles says target c:\mysoftware\folderA\folderA not found then target c:\mysoftware\folderA\folderb not found.
                            (I use add files and then destination is %AppFolder%/FolderA, %AppFolder%/Folderb, %AppFolder%/Folderc in version tab.

                            so my issue is if i can get two line to change appfolder to one level up that would great. i think i can add those two line to action on startup.

                            thankyou very much for your help.

                            Comment

                            • Steven Carr
                              Indigo Rose Customer
                              • Jul 2001
                              • 139

                              #15
                              You might have to change the version detection code slightly.

                              Basically the key file detection is also a script - so you can override it to return a different.

                              So even though if picked up c:\mysofware\folderA it will return the path as c:\mysoftware

                              This way you can have your version detection still pick up the correct version but then return a path which is easier to work with.

                              Now - to get to this code. Goto to Project / Actions. In there you will see

                              Code:
                              --------------------------------------------------------------
                              -- Locate installed version
                              --------------------------------------------------------------
                              Under here there are a number of sections which allow searching for the key file in different ways. Within those there is a part which is

                              Code:
                              if g_InstalledVersion then
                              	SessionVar.Set("%AppFolder%", _SourceFolder);
                              end
                              With a bit a string manipulation you could chop off the sub folder and return just the C:\Mysoftware part.

                              Then just make sure that in your File List for your versions that your destination for your files are correct for example %AppFolder%\FolderA.

                              Hope this helps.

                              Comment

                              Working...
                              X