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

[WIP]Introduce explicit portable edition #9584

Closed
wants to merge 1 commit into from

Conversation

sledgehammer999
Copy link
Member

This is an alternative to #9349.
I am not explicitly against #9349. I am just offering an alternative here. It is up to discussion.
Merits for this approach:

  1. User can explicitly choose a portable edition which launches automatically in portable mode
  2. Both portable and non-portable editions can switch mode by passing the correct command line parameter to the app. Users can create a wrapper script that does it.
  3. Since I am going to have a portable option in the downloads page anyway, it doesn't matter to me if I compile it again for the portable version.
  4. Less complicated code than Read command line parameters from <exeName>.params file #9349.

Caveat

  1. This isn't meant for code review. It is a quick implementation to show an alternative. If approved, I'll welcome code reviews
  2. I didn't make the necessary changes to the build systems. Those are easy and the purpose of this PR, for the moment, is as a proof-of-concept.

@sledgehammer999
Copy link
Member Author

sledgehammer999 commented Sep 22, 2018

Admittedly this was quick and hacky. It would be better if I converted PORTABLE_OPTION from BoolOption to TriStateBoolOption and change the default value based on which mode we were building for.
I already did it.

@Chocobo1
Copy link
Member

Personally I really would like not having another exe, it makes choice/maintenance complicated, such as: I must download the portable version for my usb drive and normal version for my PC at home.
Why not go with the file detection method and put out a guide that teaches users to copy/extract the exe & create a special file and done. IMHO this way is easy & widely used in Windows apps.

Since I am going to have a portable option in the downloads page anyway, it doesn't matter to me if I compile it again for the portable version.

In the way of file detection method (i.e. no separate exe way), I don't think it is insurmountable to add an option to nsis installer and create that special file.

@sledgehammer999
Copy link
Member Author

In the way of file detection method (i.e. no separate exe way), I don't think it is insurmountable to add an option to nsis installer and create that special file.

I have seen both methods used. Some have the installer, some have a separate zip to download with a portable edition inside.

@glassez
Copy link
Member

glassez commented Sep 23, 2018

I usually don't use portable apps. But some of the applications that I use in the classic way have portable versions, and they are all distributed separately.

@glassez
Copy link
Member

glassez commented Sep 23, 2018

My point is this: why pay a constant runtime workload increase (each app startup) for the one-time convenience (questionable for me) when getting a portable version of the application?

@Chocobo1
Copy link
Member

But some of the applications that I use in the classic way have portable versions, and they are all distributed separately.

I should also refine my point, for example: https://filezilla-project.org/download.php?show_all=1
FileZilla_3.37.1_win64-setup.exe
FileZilla_3.37.1_win64.zip
filezilla.exe in these 2 are really the same binary, just different packaging.

@glassez
Copy link
Member

glassez commented Sep 23, 2018

My point is this: why pay a constant runtime workload increase (each app startup) for the one-time convenience (questionable for me) when getting a portable version of the application?

Really I have no blocking objections to "file detecting method" if it turns out to be really more convenient for most users. @zeule's solution can be useful in some other scenarios, but it should be fixed first (currently it has known bug with params encoding on Windows).

@sledgehammer999
Copy link
Member Author

OK, since there's no clear preference it's only fair to prefer #9349 due to chronological order.
As I said I have no strong feelings about any of the 2 PRs.
This will remain open until the other PR is merged/closed or in case @zeule withdraws or abandons it.

@glassez
Copy link
Member

glassez commented Dec 18, 2019

I think we should close it now. @sledgehammer999, @Chocobo1?

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

Successfully merging this pull request may close these issues.

3 participants