Slobey Posted August 9, 2005 Posted August 9, 2005 Can a runtime be upgraded as a shrink wrap product. In other words, I know I can create a newer version of a solution and do an import for a client, but what about a packaged program? How do I upgrade their product without losing their data? I imagine I can script it as long as all field names are the same, but it seems rather fragile to do this. Any ideas? Thanks in advance
Mark L Posted August 25, 2005 Posted August 25, 2005 I have a similar question. I believe that I've seen discussions of this before that say something about always needing to export and then import data. I'm imagining the nightmare of having numerous scattered users with all different types of changes to the data - and needing to do a patch. I'm guessing that I need to write a really careful export routine and then a really careful import routine. Do any more experienced developers out there have some thoughts on this? Thanks, Mark
SteveB Posted August 25, 2005 Posted August 25, 2005 I can't tell you what additional features v7 has that you might make use of, such as only upgrading the non-data tables, but here's what I do. And yes, you are right...it could be fragile. I use to directly import from the old file(s) to the new files, but I gave this up because matching names won't work when you've added names in the new file. Instead, export the data from the old files using .mer format which includes a header record with the field names. I have one file that contains a driver script that is put on the user's disk by my install program. It's sole purpose is to export the data from all the files and create the .mer files. In my case that's about 20 files. After the new version has been installed, and the user runs the system for the first time, my main program looks for this driver program and executes a 2nd script that runs all the import scripts. Steve
Mark L Posted August 25, 2005 Posted August 25, 2005 Steve- Would you be able to post an sample or an example of your import and export routines. It would be incredibly helpful to me. Thanks for considering it. -Mark
SteveB Posted August 26, 2005 Posted August 26, 2005 As you probably are aware, looking at an export or import script doesn't really show much. Even if I printed them, the results would be my field names. I tried to print the main driver script to Acrobat Distiller, but that caused FM to lock up and didn't generate any output. I can tell you that you'll probably need a File Plugin (I use Troi), which I use to determine whether a 'control file' exists. If the file is found, the import begins (obviously, this file needs to be erased after the process starts so that you don't continuously perform the import). I also drive the export scripts file from the installer. The installer runs the export driver file (and script on startup). Its wired to run when the file starts. I suggest you try to think the above out into pseudo code, which you can post or send me. I'll be happy to answer any questions you have. Also, I would expect some of the other posters to chime in with what they do.
Mark L Posted August 26, 2005 Posted August 26, 2005 Steve- I wasn't thinking in terms of the actual field names of course - just the mechanics of the import/export. Thanks for trying to use Distiller anyway - I appreciate the effort. I was afraid you were going to mention a Plug-in: I purchased the Troi Text plug-in (and haven't made it successful work in my runtime versions even though I have the full Windows developer license and it works fine on my Developer PC - but I guess that's another post.) The other reason is the cost - but I guess that it might be unavoidable. I did find this at the Troi site - it sounds similar to what you describe - and actually has a subsequent link to some sample code: Troi Site - Use of File Plug-in for Updates Any comments? Thanks again, Mark
SteveB Posted August 26, 2005 Posted August 26, 2005 (edited) The reason your plugins probably don't work is that you need to create a folder under your solution's folder called 'System' and put the plugins in this folder. You'll also need to call them at startup, passing them a license key and using the 'Version' call. Steve Edited August 26, 2005 by Guest
Mark L Posted August 26, 2005 Posted August 26, 2005 Yeah, I have the folder in the right place - but version of the call used for the runtime doesn't work somehow. I've tried to follow Troi example - but haven't had the patience to continue after an hour of failures. If I really need it - I guess I'll contact them again. Thanks, Mark
Recommended Posts
This topic is 7030 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now