I read through the "Creating A Portable App: A Guerilla Field Guide" post, but I still have some questions on how to go about making a portable app.
1. How do I clean install a program?
2. Is there anything I should know about making a program written in C++ portable?
1. Having a virtual machine set up for development is great for that. Take a snapshot when it is set up, then revert when you need to which will remove a lot of noise that can clog up your RegShot logs. Also make sure RegShot is tracking changes in regular file locations like %APPDATA%, %LOCALAPPDATA% and %USERPROFILE% (I also include %SYSTEMROOT% and %ALLUSERSPROFILE%, but I am yet to find an app that sticks its fingers in either of those so maybe that is just me being paranoid) to help you quickly identify where files and folders are changing.
2. Not usually, but some apps may require one of the Microsoft Visual C++ redistributables. You may not even notice an issue when not including them if your PC has them installed, but someone else might later on, so it is just a matter of don't include it until you know that you need to include it.
1. VM with Regshot - if you set Regshot to track the C: drive, you won't need to narrow it down. Mind you, you may need to weed through the occasional unrelated file in this case.
2. A good way to check this is to setup a VM without any redistributables installed and run the app. If it doesn't run, you can then try running dependency walker against the app to check if redistributables are required.
Which OS version is best suitalbe for a VM? How much space do I need at least?
I use the VM's available here, using Virtual Box. I do most of my dev work on Win7 VM, however test on as many of the OS variants as I can.
Note that I only do so for initial build, unless there's a good reason to do otherwise.
As an aside — One of these days I'm going to write up a post detailing the development processes I recommend, including screenshots and possibly a video tutorial.
Thanks for the advice for using a virtual machine. I currently have Windows 10 on Virtualbox, but I can't get my USB drive to show up. I want to use the portable regshot I have, so what do I need to do? I tried Virtual Guest Additions, but I'm not having much luck.
you likely need to set the drive as a shared folder - do so when the VM is turned off and the drive is plugged in.
See Section 3.10 of the VirtualBox Manual for guidance on USB support settings. Using the correct settings enables the VM to take full possession of the USB connection when the VM is active.
Shared Drives can also be used as an alternative, but can also create problems and error reports if the shared drive isn't permanently attached, so are best used when Portable Software is installed on a permanently attached Drive.
That's a good point. I use a partition on my HDD, so haven't encountered any problem's, but yes, USB drives could.