Im the developer of a Windows software application which I currently release as "portable", meaning the user needs to extract it somewhere into his disk. Along with it I ship a small update tool (external app / python script converted into an .exe through pyinstaller) that handles updates as follows:
- Main app calls the update tool in the background and quits
- Update tool runs: fetches new files, removes files in the main app directory and extract new ones (the new main app .exe, dlls, and other files that might be required)
- Update tool call main app again
Questions: by creating an installer (NSIS / InnoSetup) and letting the user to install the app in Program Files, will I be able to keep this update tool? I mean, can it have enought permissions to do the update like that? If not, how can/should the updates be done?