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

Disambiguate installation package names #2126

Closed
totaam opened this issue Jan 28, 2019 · 16 comments
Closed

Disambiguate installation package names #2126

totaam opened this issue Jan 28, 2019 · 16 comments
Labels

Comments

@totaam
Copy link
Collaborator

totaam commented Jan 28, 2019

Issue migrated from trac ticket # 2126

component: packaging | priority: minor | resolution: fixed

2019-01-28 20:36:41: stdedos created the issue


From #2088?#comment:13

I think xpra/xpra-client is trivial also: Full Xpra vs Client only Xpra.
Correct.
(Is it "just" minus the server part, or there are other bits and pieces missing?)
Just the server part.

What about py2/py3?
I think I've heard that some things are missing in Python3 ... but in what context? "Missing things" are missing indeed, or they just use Python2 stuff?
Not much missing now: #1568. The server needs a bit more work, the client needs a new session-info graph tab, etc..
[[BR]]

In Windows 10, I had full-py2-x32 installed, and then I added full-py3-x64.

[[BR]]

From here, arises a difficulty: Only one of the uninstallation "entries" are active.

In my case, I had a more weird error: the x32 bit version could not somehow uninstall itself, because of "lack of Administrator rights". However, it uninstalled itself through the Windows Uninstall. Then, x64 needed to be uninstalled manually through "C:\Program Files\Xpra\unins000.exe"

[[BR]]

The possible solutions of this issue IMHO are:

  1. If there is (any) xpra install, force uninstall or abort.
  2. Use different names, entries etc
    [[BR]]

As (1) has the complexity that xpra versions cannot co-exist (which might be wanted?), I propose fix (2)

@totaam
Copy link
Collaborator Author

totaam commented Jan 29, 2019

2019-01-29 03:26:23: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Jan 29, 2019

2019-01-29 03:26:23: antoine changed component from core to packaging

@totaam
Copy link
Collaborator Author

totaam commented Jan 29, 2019

2019-01-29 03:26:23: antoine edited the issue description

@totaam
Copy link
Collaborator Author

totaam commented Jan 29, 2019

2019-01-29 03:26:23: antoine commented


We already uninstall any existing version before installing a new one.
The fact that it doesn't remove the 32-bit one before installing the 64-bit one means that innosetup is already using a different appid for each - no idea how. (see install appid)

The innosetup script: [/browser/xpra/trunk/src/win32/xpra.iss] looks up Software\Microsoft\Windows\CurrentVersion\Uninstall\Xpra_is1.
Maybe this needs to be 32-bit / 64-bit aware somehow?

@totaam
Copy link
Collaborator Author

totaam commented Jan 29, 2019

2019-01-29 03:28:33: antoine commented


For completeness, 2 more things:

  • how do we want to deal with file associations... overwrite them with the newer package? What about restoring them on uninstall?
  • python2 vs python3: not going to worry about this, python3 will be the only build soon
  • client vs full builds: same, just replace the other build

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

2019-03-04 05:11:02: antoine uploaded file installed.png (53.6 KiB)

windows 7 "add and remove software" dialog
installed.png

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

2019-03-04 05:12:49: antoine changed status from assigned to new

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

2019-03-04 05:12:49: antoine changed owner from antoine to stdedos

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

2019-03-04 05:12:49: antoine commented


Should be fixed in r21952. We now also show the full version details (r21953)
There are newer beta builds uploaded.
The "add and remove" software dialog should now show something like this:
[[Image(installed.png)]]

We could do the same thing for python2 vs python3 builds, but since python2 is going away soon, we won't.

Note: you can install both 32-bit and 64-bit versions on the same system but some registry keys will point to the last version you install and when you remove that version the features that rely on those keys will not work.
ie: ".xpra" file associations and "xpra" urls.

@totaam
Copy link
Collaborator Author

totaam commented Mar 4, 2019

2019-03-04 12:23:14: antoine commented


Forgot to upload newer beta builds, now done.

@totaam
Copy link
Collaborator Author

totaam commented Mar 8, 2019

2019-03-08 14:50:00: stdedos changed status from new to closed

@totaam
Copy link
Collaborator Author

totaam commented Mar 8, 2019

2019-03-08 14:50:00: stdedos set resolution to fixed

@totaam
Copy link
Collaborator Author

totaam commented Mar 8, 2019

2019-03-08 14:50:00: stdedos commented


Verified everything in the http://xpra.org/trac/ticket/2126#comment:3 comment.


I just want to disambiguate something you noted:

but some registry keys will point to the last version you install and when you remove that version the features that rely on those keys will not work.

So if I:

  • install x86
  • install x64
  • uninstall x86

Then the

".xpra" file associations and "xpra" urls.
will cease to exist, right?

@totaam totaam closed this as completed Mar 8, 2019
@totaam
Copy link
Collaborator Author

totaam commented Mar 8, 2019

2019-03-08 15:00:45: antoine commented


.. will cease to exist, right?
Most likely, I've tested the other way: uninstall x64, and it didn't revert to the x86 mapping.

There might be a way to tell innosetup to backup the previous key values.
I could only find: Registry section: createvalueifdoesntexist: When this flag is specified, Setup will create the value only if a value of the same name doesn't already exist. This flag has no effect if the data type is none, or if you specify the deletevalue flag
Problem is that this does not solve the uninstall issue, none of the "uninstall" options they have would help it seems.

@totaam
Copy link
Collaborator Author

totaam commented Mar 8, 2019

2019-03-08 15:41:38: stdedos commented


I guess that's okay. Just put the warning next to the "official dl page", that, hey, multiple versions are okay BUT references point only to the latest installation

@totaam
Copy link
Collaborator Author

totaam commented Mar 19, 2019

2019-03-19 14:40:21: @totaam commented


Hopefully this didn't cause #2224.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant