Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: Pointing an Executable to a different target  (Read 5245 times)

0 Members and 1 Guest are viewing this topic.

Reggie100

    Topic Starter


    Greenhorn

    Pointing an Executable to a different target
    « on: July 08, 2009, 09:01:20 AM »
    My apologies if this has been covered before, but I don't even know what to search for with this.

    I've got an application that in spite of installing its primary executable file on the hard drive, is designed to 'ask' for its data on CDs.  It's not just looking for the common 'D drive,' but somehow 'knows' to look for the system's removable disc drive no matter what its DOS letter is.  I don't trust discs for long-term data storage and have copied all of the information from this set onto my hard disk, file for file, but I am at a loss as to how to point the executable to this data store.

    I would appreciate simply knowing what this task would consist of because if I can provide technical requirements, I have some folks who can probably do the work.  Thanks!

    Greg

    jlexen

    • Guest
    Re: Pointing an Executable to a different target
    « Reply #1 on: July 08, 2009, 10:22:52 AM »
    I'd try looking in the registry to see if you can change where it looks for the CD.

    *Do NOT modify the registry unless you know exactly what you are doing. Also, make a system restore or backup of whatever you're editing before you do anything.

    I've hacked the registry and changed it so I wouldn't need a CD to play a game.

    First, though, what software are you using?

    Rob Pomeroy



      Prodigy

    • Systems Architect
    • Thanked: 124
      • Me
    • Experience: Expert
    • OS: Other
    Re: Pointing an Executable to a different target
    « Reply #2 on: July 08, 2009, 01:01:51 PM »
    You need DAEMON Tools.
    Only able to visit the forums sporadically, sorry.

    Geek & Dummy - honest news, reviews and howtos

    Reggie100

      Topic Starter


      Greenhorn

      Re: Pointing an Executable to a different target
      « Reply #3 on: July 08, 2009, 03:13:48 PM »
      Application is a Broderbund children's app that has the user manage an interface which allows selection of various multi-media files located on the CDs.  There is no Registry entry of note other than the installation path of the original executable.

      pragma



        Beginner

        Thanked: 9
        Re: Pointing an Executable to a different target
        « Reply #4 on: July 08, 2009, 04:04:34 PM »
        One way you could do this is to create an ISO image of the disc in question and then use DAEMON Tools to mount the image to a virtual disc drive.
        http://en.wikipedia.org/wiki/ISO_image
        http://en.wikipedia.org/wiki/Daemon_tools

        NOTE: If the disc is copy protected, the method I'm about to describe might not work.
        NOTE2: This is only legal if you own the disc and you should only continue using the image as long as you own the original disc.

        You'll need the following tools:
        IsoBuster to create the ISO.
        http://www.isobuster.com/
        And DAEMON Tools Lite to mount it:
        http://www.daemon-tools.cc/eng/home

        You don't have to buy them, the features available in the free versions are sufficient.

        Install IsoBuster, during the install you'll be asked to install the ask.com toolbar. Only do it if you don't mind extra clutter in your browser.

        Once in IsoBuster do the following.
        Select your disc drive from the drop down menu near the top left corner of the application.
        Make sure the disc you want an image of is inserted.
        You should now be looking at a screen similar to the one shown in the screenshot below.
        Right click the top node shown in the left window pane, the one marked with blue in my screenshot, and select "Extract CD <image>" --> "User Data (*.tao, *.iso)".
        Rename the ISO if you wish and save it.
        It will also ask you to save a .cue file. You don't really need it so you can just cancel it.


        Now you need to install Daemon tools. It will also ask you to install various toolbars and change your search provider, disable these options.
        Once installed, right click the  DAEMON Tools icon in your notification area (next to the clock on the task bar).
        Right click it and select "Virtual CD/DVD-ROM" --> Device 0:..." --> Mount Image.
        Select the ISO you've created.

        Done.
        If you open "My Computer" you will notice a new disc drive. This is the virtual disc drive created by  DAEMON Tools. This drive should have the disc you created an image of "inserted".




        Reggie100

          Topic Starter


          Greenhorn

          Re: Pointing an Executable to a different target
          « Reply #5 on: July 08, 2009, 07:05:48 PM »
          Well, everything went smoothly until the very end of the process.  I was able to extract the images, launch the application from the C: drive, and use the DAEMON Tools app to mount the virtual discs.  My last test, however, involved opening actual multi-media files.  Whatever their underlying technologies, one (or both) of these apps has created a slight difference in how the executable interacts with its 'discs' and the program died.

          Unfortunately, it's the multi-media files in this application (embedded proprietarily, of course) that's the reason I'm attempting this project.  There is a DVD version of this application (I own it), but inexplicably, the multi-media files from the original were never included.

          The exact problem is being called an 'assertion failure' in C++ in the Expression: sSndPlayer.IsPlaying().  For some reason, this virtual image has done something behind the scenes so that the copy is not 100% 'disc-like.'

          Is there any hope for this?  Thanks for the awesome install instructions!



          pragma



            Beginner

            Thanked: 9
            Re: Pointing an Executable to a different target
            « Reply #6 on: July 09, 2009, 04:12:30 AM »
            You are correct. While DAEMON Tools creates a very accurate representation of a disc drive, an ISO isn't a 100% accurate copy of a disc, it is what you would call close enough for most uses. It will not replicate certain features of discs, such as most disc based copy protection measures.

            But there is something you can try in IsoBuster to create a more accurate copy.
            Redo the steps to create an ISO in IsoBuster. At the point where you select "User Data (*.tao, *.iso)" don't, instead select "RAW (*.bin, *.iso)" afterwards proceed as normal. Mount this new image in DAEMON Tools.
            This may or may not work depending on what we're dealing with here.

            Reggie100

              Topic Starter


              Greenhorn

              Re: Pointing an Executable to a different target
              « Reply #7 on: July 09, 2009, 06:33:37 AM »
              No cigar...I'm getting a startup error "The application or DLL h:\win32\sysinfo.dll is not a valid Windows image."  I don't get this when I use the 'real' CD.  What this means to me is that the application looks for this file on the CD as a part of each engagement.  What's peculiar is that all of the image browsing and built-in sound files from the virtual discs work perfectly - it's only the multi-media stuff that fails.

              Does this DLL need to be registered in Windows somehow?  If so, how to keep it registered after quitting a session and restarting?

              Thanks again.

              pragma



                Beginner

                Thanked: 9
                Re: Pointing an Executable to a different target
                « Reply #8 on: July 09, 2009, 06:35:13 AM »
                Is h: your real disc drive or the drive created by DAEMON Tools?

                Reggie100

                  Topic Starter


                  Greenhorn

                  Re: Pointing an Executable to a different target
                  « Reply #9 on: July 09, 2009, 06:52:43 AM »
                  It's the one created by DAEMON Tools.

                  pragma



                    Beginner

                    Thanked: 9
                    Re: Pointing an Executable to a different target
                    « Reply #10 on: July 09, 2009, 10:31:00 AM »
                    Hmm I'm a bit stumped here.
                    The question is whether the problem is with the virtual disc drive / disc image or with the application itself.
                    If we assume for a second that the image and virtual disc drive are ok. Maybe the application hard codes certain things during install like the path to the disc drive or maybe even registers certain files on the disc with Windows. Both would be extremely bad ideas, but it wouldn't surprise me the slightest if some applications did it anyway.
                    Could you perhaps try uninstalling the application and then reinstall it from the image you made?

                    Reggie100

                      Topic Starter


                      Greenhorn

                      Re: Pointing an Executable to a different target
                      « Reply #11 on: July 09, 2009, 12:17:31 PM »
                      It is indeed interesting because if I have a disc in the F: drive (the actual disc drive) there is no opening error message nor is there the closing error message.  Somehow, the application is able to discern the difference between the physical and the virtual drive.

                      I had suspected that this might be a possibility from the onset, thus the way I phrased the question.  Instead of attempting to 'virtualize' the entire application process (which is what we've done here), we tell the application - in advance - to search out the storage location we want and not attempt to 'fool' it into figuring it out for itself.

                      The complexity arises when accessing these multi-media files.  The app's UI knows which disc each of the files resides on, but it calls some other tool which is responsible from within the UI to 'play' the files.  (It doesn't use a WMP or RP app.)

                      I guess what we would need is someone able to decipher those error messages I noted and elaborate as to the specifications that those commands require.  It does seem odd that the commands would actually care about a physical disc (as opposed to a virtual one), but there is something about the tools we used to create the images that alters the environment of the images just enough to cause the problem.

                      I'm concerned because this is an application designed for Win95/98 only, and sooner or later the discs are going to go bad and/or the O/S simply won't run the app.  I'm willing to pay a reasonable fee to fix this problem, too.

                      Thanks.

                      Greg

                      pragma



                        Beginner

                        Thanked: 9
                        Re: Pointing an Executable to a different target
                        « Reply #12 on: July 10, 2009, 03:22:07 AM »
                        Assuming the problem is with the virtual drive, I think the next best thing would be to make a copy of the disc. Then you could at least save the original from wear and tear.
                        Do you have a CD burner?

                        Reggie100

                          Topic Starter


                          Greenhorn

                          Re: Pointing an Executable to a different target
                          « Reply #13 on: July 10, 2009, 07:47:34 AM »
                          Yes, not only had I already made copies, but I had copied the discs off to my hard drive in ISO format as well as ripping them.  My concern is that technologies such as compact discs come and go, but the only thing that seems to remain constant over the years is 'pure' digital information as *stored* on those discs.

                          Thus, the issue is not only the removable media themselves, but the devices which *read* those discs (as we've seen with the evolution of the music industry).  CD technology has already been given its death sentence:  its storage capacity is only a fraction of super-DVD, and more and more music is in downloadable format.

                          The very problems we are talking about from my original in terms of complexity and compatibility are proof of how unstable this all is and why I was seeking to convert the data process.

                          Thanks.

                          Rob Pomeroy



                            Prodigy

                          • Systems Architect
                          • Thanked: 124
                            • Me
                          • Experience: Expert
                          • OS: Other
                          Re: Pointing an Executable to a different target
                          « Reply #14 on: July 10, 2009, 12:57:13 PM »
                          If copies of the CDs, burnt from an ISO image work okay, you can always retain an electronic copy of that image.  I am reasonably confident that you will still be able to burn a new CD from it for the next 10 years or so, after which we'll all be chasing the next new thing.  :)
                          Only able to visit the forums sporadically, sorry.

                          Geek & Dummy - honest news, reviews and howtos

                          Reggie100

                            Topic Starter


                            Greenhorn

                            Re: Pointing an Executable to a different target
                            « Reply #15 on: July 10, 2009, 09:26:30 PM »
                            Well, I'm assuming that I'll be around longer than ten years!  Anyway...here's to the 'chase!'

                            BC_Programmer


                              Mastermind
                            • Typing is no substitute for thinking.
                            • Thanked: 1140
                              • Yes
                              • Yes
                              • BC-Programming.com
                            • Certifications: List
                            • Computer: Specs
                            • Experience: Beginner
                            • OS: Windows 11
                            Re: Pointing an Executable to a different target
                            « Reply #16 on: July 10, 2009, 09:48:07 PM »
                            CD's were NOT given a "Death sentence" from DVD's or HD-DVDs.

                            They are STILL a standard that is implemented by thousands of devices, from CD-players to stereo's to any number of other electronics.

                            The only devices that can be called "dead" are things like Jaz Drives, Zip Drives, and SuperDisk Drives, and even then they still have a (perhaps foolishly) loyal following. The only reason they died out was not because of technical inferiority at the time but in some cases simply that they had terrible marketing departments.

                            Now, the media itself, on the other hand, has a reduced archival rate... this is easily solved via regular duplication (if you can't set aside a few minutes every 5 or 10 years to make a duplicate it really can't be that important, can it?).

                            Additionally, CD-ROM drives were introduced over 10 years ago- it took that long for floppy drives to become "optional" components, even though they stored over 700 times as much as a floppy.


                            I was trying to dereference Null Pointers before it was cool.