11-22-2016 01:26 PM
OK - I'm somewhat of a newbie, and I have developed a stand-alone program that uses the Framework to connect to the ACT! database. All is well and good, and the program runs great on my development computer and my laptop.
I'm using Visual Studio, and plan on supporting ACT! 2013 (vb.NET 4.0) and higher versions of ACT! I understand that I need to compile with the lowest version of ACT! that I plan to support.
However, I'm having a challenge figuring out how to deploy my program. If someone could help me with a few questions, I would be grateful!
1. I know that vb.NET 4.0 will be installed on the user's computer. Can I simply copy my compiled .exe files to their computer and run them? Or, do I need to use an Installer program? If so, what do you recommend? Do I need to Publish the app?
2. Exactly which compiled files do I need to include with my application? Do I need to include a .manifest file? A .cfg file? A .resources file? Any other files?
3. What is the best way to include .ico, .jpg and .png files with the application? It looks like I have to identify them as Content, and copy them to the installation folder - correct? Or, do I need to include them in a .resources file?
4. How do you recommend handling different user screen sizes and resolutions, so that my program scales properly?
5. My program uses several independent .dll files - one of which is SQLite. Do I need to register those files?
6. Any other helpful advice and comments to a developer that is new yet determined to succeed?
Thanks for your help!
11-23-2016 02:27 PM
1. If everything is installed, you should just need to copy the files (.exe, .dll, etc.) to the computer
2. The short answer is, whichever ones are needed for it to run. These are mainly the executable and any libraries (dll's). You'll also need any supporting files like images.
3. This depends on if you want to embed them into the executable, which I think the resources setup will do (not sure though). You could also use a relative path and have an "Images" folder at the same level as the executable, then just copy the folder along with the executable. This way, if an image changes, you just need to swap out that one file, no need to recompile.
4. That's up to you. It's not until .NET 4.5 and newer that MS put more focus into UI scaling. Overall, WPF should do better than Windows Forms for that, but there is a learning curve. I'll also say that Act! 2013 scales pretty poorly on high DPI screens.
5. If the dll files are compiled to .NET, you shouldn't have to. If not, maybe.
6. Be prepared for failure and/or things breaking. It's going to happen, so you'll just need to work through it and learn from the issue. That way you can do better the next time.
Hope this helps and good luck!
11-25-2016 07:46 AM
Thank You for your response! Very helpful.
1. Do required files include .Resource, .Manifest, .config and/or .Application files?
2. What is the best way to include Image files? Embedded Resource, Content, other way? It looks like I can embed them in the .EXE file. Seems like that would be the best way to go, but not clear on this.
3. As to the screen scaling question: I'm just looking at the .NET windows, not ACT! windows. It seems like the best method to accomplish scaling is not clear. Maybe just read the current screen resolution and set the Form size accordingly?
I really appreciate your help. It's that last 5% of the Development process that seems to take the most time...
11-28-2016 05:45 AM
1. Just .exe and .dll files. The ones you mention generally aren't needed unless there is a specific need. It's been a while, but I believe .application files are used for ClickOnce deployments.
2. I, personally, would probably keep them separate, especially if there is possibility of changing later on. That way you don't have to recompile and deploy just for an image change. You just have to supply the new image(s).
3. I was using ACT! as an example. That is a Windows.Forms application for the most part, and it scales poorly. Basically, scaling is a pain. I'd check to see what your min and max resolutions are that you have to deal with. If they are all fairly standard (read: Widescreen monitors with 1080 vertical resolution or around that), make it fit the smallest one and don't bother with the scaling. If there is extra, unused space on the form, is that a bad thing?