Skip to content

Comments

Copy ASIO4ALL settings from old version#1260

Merged
ann0see merged 3 commits intojamulussoftware:masterfrom
ann0see:MoveA4AReg
Mar 15, 2021
Merged

Copy ASIO4ALL settings from old version#1260
ann0see merged 3 commits intojamulussoftware:masterfrom
ann0see:MoveA4AReg

Conversation

@ann0see
Copy link
Member

@ann0see ann0see commented Mar 14, 2021

Fixes #1244

Copy link
Member Author

@ann0see ann0see left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not yet ready; added some explanations

@@ -212,6 +218,30 @@ Section "Install_64Bit" INST_64
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(OLD_VER_REMOVE_FAILED)" /sd IDCANCEL IDOK continueinstall
goto quit
${EndIf}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code will only be executed if we find jamulus in the 32 bit prog. files folder and the current install is 64 bit.

@ann0see
Copy link
Member Author

ann0see commented Mar 14, 2021

Feel free to edit the code.

@ann0see ann0see mentioned this pull request Mar 15, 2021
@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

The latest commit makes it very simple. And seems work. We're not checking for anything, so probably it would also overwrite some other things.

@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

Tests so far with new code:

  1. Install new version on top of old version from non admin account with admin privileges from admin account: If I click "yes" in the my message, the settings get transfered. Note: the new registry key doesn't exist yet.
  2. Remove new version and install old version --> old settings are saved for the old version
  3. Install new version on top of old version after changes have been made in the new version. Press no to the copy message on the message in the installer --> Previously set settings from the new version get saved
  4. Remove new version, install old version (without removing registry key), afterwards install new version. New key doesn't get touched. As expected. I'll need to move the message.

Still todo:

  1. Check what happens for the admin user (at least the new registry key seems to be created)


; ask to move old ASIO4ALL registry configuration

MessageBox MB_YESNO|MB_ICONEXCLAMATION "If your're using ASIO4ALL: Do you want to copy ASIO4ALL settings from the previous version if possible? We will do this for every user." /sd IDYES IDNO continueinstall
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this message?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't think of any reason why users would not want it.
As a user, I'd expect Jamulus+ASIO4ALL to work the same after the update than before. This logic tries to do that.
The logic is supposed to be non-destructive, i.e. it should not overwrite any configs (we should be really sure about that).

So my tendency would be to not add a (possibly confusing) message. Would also have the benefit of not needing another translators ping...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Just did a force push without this change. I think now we'll just need to do some tests.

@ann0see ann0see requested review from gilgongo, hoffie and softins March 15, 2021 13:30
@ann0see ann0see changed the title DRAFT:Copy ASIO4ALL settings from old version Copy ASIO4ALL settings from old version Mar 15, 2021
@ann0see ann0see marked this pull request as ready for review March 15, 2021 14:23
@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

Still one edge case: What should happen if an user now sets a different installation path? Do we need to handle this?

@hoffie
Copy link
Member

hoffie commented Mar 15, 2021

Still one edge case: What should happen if an user now sets a different installation path? Do we need to handle this?

That would have always been a problem, wouldn't it?

I think we could add a message on the page where the target path is chosen and warn about it ("If you change the installation path from previous installations, you may have to re-configure ASIO4ALL."). However, as this is not a regression as far as I understand) and because it would benefit from being translated, I'd suggest to postpone that part for 3.7.1?

@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

That would have always been a problem, wouldn't it?

I think so. Not sure, but the installation path couldn't even be saved for an upgrade in the old installer, could it?

Copy link
Member

@softins softins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Appears to work ok on my W7 64-bit:

  1. Installed 3.6.2
  2. Made sure key 7A49ECC9 did not exist and 8A9E7A56 did exist.
  3. Installed artifact from this PR. Was warned about removing the 32-bit version, which I accepted.
  4. Checked registry and confirmed everything in 8A9E7A56 had been copied to 7A49ECC9.
  5. Only one user on this PC had ever used Jamulus, so couldn't check for others.

@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

Logged in as admin:

  1. Removed new key in registry; installed the version from the artifact --> Previous settings are restored (since the new key gets created) for admin and user.
  2. Didn't remove new key in registry; installed the version from the artifact --> Only settings from the new version are there (the new key is not over written) for admin and user.

I think this is the most important check we need to make.

@ann0see ann0see self-assigned this Mar 15, 2021
@softins softins added this to the Release 3.7.0 milestone Mar 15, 2021
Copy link
Member

@hoffie hoffie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't really comment on the NSH and NSI code as I have zero experience with it. I can't test on Windows either, sadly.

However, I'm confident that we should have this change and logic-wise it looks sounds.

I'd be happy if yet another person could test the installer, either explicitly or through another rc.

@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

Before merging this, I'd like to have feedback from @gilgongo everything should work as expected.

@gilgongo
Copy link
Member

I can install it on my machine? It has old settings from a previous install. Where do I download it?

@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

I think the windows compilation process isn't finished yet, so you'll need to wait a bit. Afterwards you can find the binary on the checks page of this PR.

@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

@ann0see ann0see merged commit b20c40a into jamulussoftware:master Mar 15, 2021
@ann0see ann0see deleted the MoveA4AReg branch March 15, 2021 21:25
@ann0see
Copy link
Member Author

ann0see commented Mar 15, 2021

I've merged this now since I think it works as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

Installing new 64 bit Jamulus loses ASIO4ALL settings (& installer strongly recommends to remove the old version)

5 participants