Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use 3-part version for Nullsoft #436

Closed
wants to merge 1 commit into from
Closed

Use 3-part version for Nullsoft #436

wants to merge 1 commit into from

Conversation

Trenly
Copy link

@Trenly Trenly commented Feb 28, 2023

This incorporates my recommended changes from #306 (comment).

  • Adds a new parameter call CLINK_VERSION_TAG which is calculated in the LUA file. This is done to ensure that the existing implementations of version in the LUA file are not disturbed
  • Changes Clink to always install over top of the last version.
    • Product code has been made to be constant - this means the location of the Uninstall registry entries will always be the same. Running a new installation will update the registry keys that are already existing. This fixes a bug where using clink upgrade wouldn't update the product code
    • Start menu no longer has folders for individual versions. Since installing a new version overwrites the existing version, no need to have the version included in the start menu entry. This fixes a bug where using clink upgrade wouldn't correct the start menu entry
    • Removes the version tag from the uninstaller. Since all versions will have the same uninstall steps effecting the same registry keys, the version tag is not necessary. This fixes a bug where using clink upgrade wouldn't correct the name of the uninstaller (but the uninstaller still performed the correct steps)

I have no way to truly test this on my system, and am relying on my experience with NSIS installers. I encourage testing of this fork by building 2 installers and ensuring updating from a released version like 1.4.18 to Build_1 works and runs properly, and then upgrade from Build_1 to Build_2 works and runs properly, as well as that an uninstall can be performed.

@Trenly
Copy link
Author

Trenly commented Feb 28, 2023

As mentioned in the linked thread, SxS is an important feature; Closing this for now

@Trenly Trenly closed this Feb 28, 2023
@chrisant996
Copy link
Owner

@Trenly It's a great observation, that since the installer already updates a version-independent Clink folder in the Start Menu, SxS already doesn't really fully work anymore anyway.

I'll investigate tonight and report back. It wouldn't surprise me if I were to end up merging this PR, after all.

Thanks for all the time and effort and education! ❤ Much appreciated.

@Trenly
Copy link
Author

Trenly commented Feb 28, 2023

@Trenly It's a great observation, that since the installer already updates a version-independent Clink folder in the Start Menu, SxS already doesn't really fully work anymore anyway.

I'll investigate tonight and report back. It wouldn't surprise me if I were to end up merging this PR, after all.

Thanks for all the time and effort and education! ❤ Much appreciated.

Take all the time you need. I must admit, understanding how registry keys map to product codes, and how different items interact took me a while to understand. Add onto that two different ways to get upgrades and you've got a recipe for confusion.

I'll re-open this in case you do decide you want to merge it, or if not, feel free to close it, makes no difference to me.

Either way, I'm sure that once the two upgrade paths do the same thing, it will be a recipe for success

@Trenly Trenly reopened this Feb 28, 2023
@chrisant996
Copy link
Owner

This was a helpful template to refer to -- thank you for submitting it for review!

I ended up wanting a few tweaks, e.g. "clink_chrisant996" for the product code, so I made manual edits and commits.

Closing this PR, since it has served its purpose but doesn't need to be merged.

@chrisant996 chrisant996 closed this Mar 1, 2023
@Trenly Trenly deleted the NSI branch March 1, 2023 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants