Topic: Questions about deploying a MVD project

To All,
I've been getting ready to deploy my project and I have a couple of questions:
- I'm using INNO setup to prepare an install script. 
- I have figured out how to install it into the users DOCUMENTS directory in Win 10.
- My question is - is this a smart thing to do?
- I have read both pros and cons about installing in the DOCUMENTS sub-directory.
- I did try to install it into the default Programs sub-directory, but when I did, it would not let me input information because it says some files were READ-ONLY.
- It seems to me that the Programs sub-directory would not be a good place to store the data files anyway.
- I assume that in order to put the program into the Programs folder and the data somewhere else would require some scripting in my MVD program?
- I'm getting into an area that I don't have any experience with,
-
So I'm wondering if anyone has any thoughts about a better or best way to deploy my program?
-
I really appreciate all the feedback I've received to get me this far.  Without your help I wouldn't be where I'm at right now.
-
Thanks, Frank

Re: Questions about deploying a MVD project

I assume that in order to put the program into the Programs folder and the data somewhere else would require some scripting in my MVD program?

From the link of Drivesoft's post about innosetup I reply you with before, you really don't need to write MVD script on your program. The trick is on the location of the database, settings.ini and [INI] section of your .iss file. The [INI] section automatically updates your programs settings.ini

Post's attachments

Attachment icon img.png 62.42 kb, 109 downloads since 2020-09-09 

brian

Re: Questions about deploying a MVD project

Brian,
Thanks for your reply.
By looking on the web I did discover the {userdocs} setting, so that helped me to put the program files into the Documents directory.
-
I didn't know about the {userappdata} setting.  I've only used the Wizard in INNO Setup so I haven't been aware of some of the options that are available.  Thanks for pointing that out for me.
-
Based on what I've learned and what you provided, would I be correct in assuming the following:
1 - Do Not install my program into the Documents folder?
2 - Install my MVD program.exe file into the default Programs Directory?
3 - then install the data files (sqlite.db, REPORT folder and SCRIPT folders into {userappdata} ?
-
There is another scenario that I want to address:
Once I deploy my program and I decide to make some modifications to the program (not the tables), I will want to send the updated program files to the user.
-
Would I just send the program files - minus the data files?  And if so, How?
-
If my program is perfect (not likely) then I would never have to update it.  But in the real world I'm guessing I will want to fix some bugs and/or update some of the features.
-
Thanks for your help.  Each time I ask something in the Forum, the answers help me and I learn something new.
-
Thanks
Frank

4 (edited by brian.zaballa 2020-09-10 04:45:32)

Re: Questions about deploying a MVD project

You can always install it wherever you want. You only need the settings.ini and sqlite.db (files that are being re-written by MVD) in the userapp folder. But if your application has other file that is being read and write within the application folder/subfolder, then I think installing it on document folder is your option. Other option will be installing it under C:\. But you need to remind your client/s to disable their anti-virus when installing your application. Some antivirus see this as a threat. I used to install my applications in C:\. In that way, they can copy all the files and they can use it like a portable one. 
The option onlyifdoesntexist from the .iss file will solve the database problem. Having that option will make your next installer(updater) to ignore and not replace it(application database). But you need to consider some pointers even you exclude changes within the database in your question, it may happen tho.
- Make sure to properly document changes in your database when you deploy your application for the sake of your next installer(updater).
- You have to include sql queries on your next installer(updater) when:
   a.  you add field/s in table. (calculated fields is an exemption. it is not a field on the database)
   b. delete field/s in a table. You can ignore this if you want. but the deleted fields in your current version of the system will remain in the previously installed application. Sqlite doesnt have alter table drop fields tho. You need to rename current table, create table, insert all records from renamed to new table, then delete renamed table. This is a tedious one so i just ignore it. anyway, it doesn't affect the application.
   c. rename a field/s in the table. well, you can do letter a or b to do this.
- Make sure to have a version control and checker on your application. I do this via having a field on database(settings table) the current version of client's database, then a Constant(current version) in the script of my application.

Note: If you want to hide sql queries, you can encrypt it. then decrypt before you run it in your updater. I suggest you to have another application for encrypting the sql queries if you want this. They only need to have the same encryption Key to work.

brian

Re: Questions about deploying a MVD project

If you use Simple Script from InnoScript Studio, it auto-generates AppID, this app ID will be the unique ID of your application so that when you reinstall it or install an updater with the same AppID, It will automatically look for the installation folder of your app and remove/replace/add files depending on your setup script. It also allows windows to know that it is the same application on the existing installed application with it.

Post's attachments

Attachment icon img.png 18.67 kb, 107 downloads since 2020-09-11 

brian

Re: Questions about deploying a MVD project

Brian,
Thanks for the info.
Frank

7 (edited by asawyer13 2020-11-28 00:09:43)

Re: Questions about deploying a MVD project

Does inno setup have a way to automatically update the mvd exe when a new version of the software is uploaded to my server?

I am trying to determine what the best installer/updater to use to distribute and update my app would be.

Thanks
Alan

8 (edited by dbk 2020-11-28 00:43:31)

Re: Questions about deploying a MVD project

asawyer13 wrote:

Does inno setup have a way to automatically update the mvd exe when a new version of the software is uploaded to my server?

I am trying to determine what the best installer/updater to use to distribute and update my app would be.

Thanks
Alan

Hello Alan,

i was looking for the same answer to this as well, unfortunately it isn't a 'quick' solution but if you plan it carefully it shouldn't be too much of a hassle,

- Take a look at:
http://myvisualdatabase.com/forum/viewtopic.php?id=5365

- And this one:

http://myvisualdatabase.com/forum/viewtopic.php?id=6787

Re: Questions about deploying a MVD project

Anybody checked out https://www.createinstall.com/?

The free version claims it does autoupdating.

I have not used it, but might try.