LCD-Smartie / LCDSmartie

The New Official LCD Smartie Repository (LCD Smartie Lazarus port)
GNU General Public License v2.0
32 stars 5 forks source link

Can we get an installer? #22

Open PaulJohanson opened 7 months ago

PaulJohanson commented 7 months ago

Small request: can someone make a basic Windows installer for LCD Smartie? Copying .exe's around is so 1995.

stokie-ant commented 7 months ago

I'll run this by limbo. It's a good idea but some issues may arise that will need addressing

limbo666 commented 6 months ago

@PaulJohanson Thank you for your suggestion. Although an installer seems to be a good idea, this is an additional workload on each release. I'm afraid that this cannot be done for the moment. We need to to focus on further executable development. 😉

ChlorideCull commented 3 months ago

Would y'all be open for a PR? I could set up a Wix based installer, which can be built with one command after the release-dir is generated.

stokie-ant commented 3 months ago

There's a couple of issues with an installer approach

1) Config file. We need to determine whether the install is new or an upgrade as we don't want to be overwriting someone's hard work.

2) If we were to install to somewhere like %programfiles% we would be disallowed to write the config unless we had administrative privileges. Also the cache folder would be affected and it would break plugins which saved files under the displays and plugins folders

These issues can be addressed by creating data folders in app data or documents but it means some coding and testing to find the best approach for them

ChlorideCull commented 3 months ago

There's a couple of issues with an installer approach

  1. Config file. We need to determine whether the install is new or an upgrade as we don't want to be overwriting someone's hard work.

Definitely doable, if I remember correctly.

  1. If we were to install to somewhere like %programfiles% we would be disallowed to write the config unless we had administrative privileges. Also the cache folder would be affected and it would break plugins which saved files under the displays and plugins folders

Since Windows 7, the standard KNOWNFOLDERID location for "per-user applications" is FOLDERID_UserProgramFiles, which is %LOCALAPPDATA%\Programs. Since it's a user writable location, no code changes would need to be made, and as a bonus we don't need admin permission to install there. We can install to the same location on older OSes as well.

stokie-ant commented 3 months ago

OK, I'm liking the sound of no extra coding. @limbo666 what are your thoughts on this? We can still offer the zip as portable version should a user prefer that

limbo666 commented 3 months ago

If we can keep the work amount limited a we can avoid messing with configuration, plugins and skins, I think we can have both installer and portartabe zip versions on release page. @ChlorideCull Can we get a demo on this with the current release? Is it possible to build one for testing?

ChlorideCull commented 3 months ago

Yeah, I can throw a PR together.

ChlorideCull commented 3 months ago

@limbo666 I've created a PR #25, it has a demo build in the description.