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

NSIS.UMUI.Complete (Suggested solution!) (Review wanted) #527

Open
wants to merge 66 commits into
base: master
Choose a base branch
from

Conversation

Tobias-B-Besemer
Copy link
Contributor

  • Moved strings into new, seperate file bleachbit_lang.nsh
  • Added multi-language support for strings
  • Created bleachbit_nsis_general.pot
  • Created bleachbit_nsis_multiuser.pot

- Moved strings into new, seperate file bleachbit_lang.nsh
- Added multi-language support for strings
- Created bleachbit_nsis_general.pot
- Created bleachbit_nsis_multiuser.pot
@Tobias-B-Besemer
Copy link
Contributor Author

I hope I did it right...

Lets give it a try! ;-)

@az0
Copy link
Member

az0 commented Mar 31, 2019

Did you try installation from this build https://ci.appveyor.com/project/az0/bleachbit/builds/23483634/artifacts ?

msgstr "Shred with BleachBit"

msgid "BLEACHBIT_UPGRADE_UNINSTALL"
msgstr "${prodname} is already installed. Click 'OK' to uninstall the old version before \ upgrading, or click 'Cancel' to abort the upgrade."
Copy link
Member

Choose a reason for hiding this comment

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

Does the slash \ belong in the middle here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I copied the string from you. Is it a linebreak in NSIS?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

OK, written in this form, it is no line-break! Also: NSIS do line-breaks by its own! So I removed the " \ "...

@Tobias-B-Besemer
Copy link
Contributor Author

Did you try installation from this build https://ci.appveyor.com/project/az0/bleachbit/builds/23483634/artifacts ?

No.

- Included FileFunc.nsh for e.g. command line arguments managment
- Made the remaining English texts to variables
- Added icon to Windows Explorer Shell Extension
- Added descriptions to the installer options
- First command line arguments managment
- Own help page by command line
- New bleachbit_lang.nsh
- New German Translation
- New bleachbit_nsis_general.pot
Fixing syntax
Fixing syntax
Fixing + SetErrorLevel
@Tobias-B-Besemer
Copy link
Contributor Author

@az0, what do you mean with FIXME later: Restore QuietUninstallString ???
Restore QuietUninstallString if it was used before BB got de-installed because of upgrade?
Only option I see: Use of a command line parameter to pars the information to the installer...
Should we do this?

@Tobias-B-Besemer
Copy link
Contributor Author

Sorry, no, we can do it with SetErrorLevel... ^^

- Variables "Section" -> "Component"
- Restore QuietUninstallString
- First implementation "/no-desktop-shortcut"
Fix syntax
@Tobias-B-Besemer
Copy link
Contributor Author

OK, I doing now tests...

@Tobias-B-Besemer
Copy link
Contributor Author

I recognized that there exist also the bug that you can abort the uninstall of the previous version and can install anyway. I will try to fix that, too.

@Tobias-B-Besemer
Copy link
Contributor Author

Just do a short review of it, not in deep, only to look that I don't delete the complete PC with my installer. ^^ Then land this patch - this installer is (with all his remaining bugs) already much better then the current one!

At this time I would accept it into its own branch

That's great!

I think it would be really nice, if we get this landed/stable till v2.4.0.xxxx.

I am skipping to version 3.0. The reason is it is becoming urgent to change to GTK 3 and Python 3. The first change is GTK 3, and there is a branch for that. These could require changes to the NSIS installer, and I am hoping to avoid merge conflicts.

My plan is to be finished with the NSIS Installer in the next 2-3 weeks. If I integrate them in the Master Branch, or a GTK 3 Branch doesn't matter much for me... NSIS change nothing on the BleachBit Python Code and the GTK 3 Branch gets integrated into the Master Branch again... My plan was to have a new, fresh, funky, professional installer for GTK 3, that the new GUI gets also reflected by the installer...

But the To-Dos-List only includes things I can't do alone!

If they are not done, will there be regressions against version 2.0 or signficiant new bugs?

No! Mainly it's get AppVeyor to build the installers again...
You can have a look into "bleachbit.nsi_-_to-dos.txt" that is now pushed with this PR....

Main changes are Bug Fixes, Add/Remove Functionality, switch "/no-desktop-shortcut", QuietUninstallString/SystemComponent & general improvements.

The "bug fixes" and "general improvements" are not clear enough to either test now or to explain in the release notes for the next final release. If the change is tiny (such as a cosmetic change), then it does not need to be documented.

You can bring it together with "better 'current user'/'all users' system integration".

If end users would notice an enhancement or bug fix, then it's worth document for the release notes.

If a change could cause a regression or maybe would not work equally well on all systems, then I'd prefer to note it for testing.

Please have a look into "bleachbit.nsi_-_tests.txt" that includes details questions/tests to Beta-/Alpha-Tester about the changes in NSIS.

Benefit: The code gets in future managed/updated by someone else who is really better then me! ^^

In general, I consider this a great benefit. I am a proponent of the DRY programming principle.

Andrew, if you decide to use UMUI (what I suggest you), then you should update NSIS on AppVeyor with a build from here: https://sourceforge.net/projects/ultramodernui/files/UltraModernUI/UltraModernUI%202.0b5/
Else we don't get AppVeyor to build the NSIS File that include the UMUI Code...

This means the screenshots are from your personal system because UMUI does not currently work on AppVeyor, correct?

Yes! I already improved the design a bit more, but yes, that's what I have compiled!

I prefer to use the mainline NSIS. Looking at the Git repositories for UMUI and the mainline NSIS, it seems UMUI maybe is out of date. Also, it's not clear it will stay up to date.

Last update to UMUI was January 2019! GitHub is just a new copy/place for the source! Version 1.00 beta 1 was released March 20, 2005! I'm pretty sure the project will persist! ^^
Here is the official home page: http://ultramodernui.sourceforge.net/
Main things seems to be done (like for NSIS in general, too) on sourceforge.net...
If you trust my evaluation and go with me the UMUI way, I can remove a lot of my code (that related to the Add/Remove Feature), bring a new professional skin to the installer and additional features...
...if you stay on MUI2, you will have more to review and still a oldish interface and I must revert my changes belonging to UMUI... :-/

@Tobias-B-Besemer
Copy link
Contributor Author

Did you fix this silent install bug? I'd like him to test your version, but there hasn't been a successful build on AppVeyor for 13 days

Yes, should be fixed in my builds! ^^ But I write you more to it in the other issue...
I think I will upload my EXEs to Google Drive for testing... ;-)
That there are no more successful builds on AppVeyor comes because you need to change some things on AppVeyor that my builds get generated again... :-/

@Tobias-B-Besemer
Copy link
Contributor Author

With this Link you should get access to my BleachBit Project Files:
https://drive.google.com/drive/folders/1ZbzJimB2rPPaC9zen-5_8frIX5RlCN4M?usp=sharing

@Tobias-B-Besemer
Copy link
Contributor Author

OK, new builds with MUI2 & UMUI are online! ;-)

You can give it a try!

@Tobias-B-Besemer
Copy link
Contributor Author

Andrew, I reverted now the UMUI changes on the snapshot I had and "finished" the MUI2 builds...

Parallel I mad a other branch on my local disc and worked (and "finished") the UMUI builds... ^^

So there are now two kind of builds: MUI2 & UMUI ^^

In the following I will post here some screenshots from my latest UMUI builds to convince you ^^ that UMUI is the better solution... ^^

...then I'm going to push here the latest UMUI sources...

Parallel I'm opening a new PR with the MUI2 source...

I have already a PR "NSIS.Merge (Review wanted)" open...
There I try to go with you the first steps together.
(MUI2 & UMUI build have many in common and I will push small peaces for you... ^^)

Btw.: "My work is so far done!" and I should have testers and feedback about bugs and suggestions to improve the builds more...

@Tobias-B-Besemer
Copy link
Contributor Author

OK, one really nice thing beside the ability to skin the installer/uninstaller and that IMHO UMUI looks more like a professional solution... ^^ (...and BleachBit reserves that!) ...is, that you have all in one Window! The language dialog, Add/Remove, even the build-in Updater! ^^
2019-04-17 15_26_11-Installation von BleachBit

Here is a screenshot of the build-in Updater with my/our custom warning:
2019-04-18 07_27_11-BleachBit Setup

UMUI have a "nice" Install Type selection and a "menu" for ADD/Remove that looks the same:
(The modify page have also the warning, again.)
2019-04-17 15_27_18-BleachBit Setup
2019-04-18 05_08_50-BleachBit Setup

I have even renamed a bit the Section Text that the "Confirm Installation" Dialog looks good... ^^
2019-04-18 07_28_06-BleachBit Setup

Give it a try! My newest builds are here for download: (Also MUI2 builds...)
https://drive.google.com/drive/folders/1ZbzJimB2rPPaC9zen-5_8frIX5RlCN4M?usp=sharing

@Tobias-B-Besemer Tobias-B-Besemer changed the title NSIS (Status: Feedback wanted) NSIS (Review wanted) Apr 18, 2019
+ GTK3 Support
+ Makefiles.bat
+ Autostart: Show minimized
@Tobias-B-Besemer
Copy link
Contributor Author

@Tobias-B-Besemer
Copy link
Contributor Author

@az0
Copy link
Member

az0 commented Nov 2, 2019

@Tobias-B-Besemer
Is this pull request ready for review? I am arranging for someone to review it in depth.

@az0
Copy link
Member

az0 commented Nov 2, 2019

@Tobias-B-Besemer

There is this error from AppVeyor

Processing script file: "windows\bleachbit.nsi" (ACP)
2019-04-24 20:13:26 - ERROR - !include: could not find: "NsisIncludeOthers\German.nsh"
Error in script "windows\bleachbit.nsi" on line 258 -- aborting creation process
2019-04-24 20:13:26 - ERROR - windows\BleachBit-2.3.0.0-Setup.exe not found
Command exited with code 1

Also, there are many merge conflicts.

What do you think of me holding off the review until you can review these issues?

@Tobias-B-Besemer
Copy link
Contributor Author

Tobias-B-Besemer commented Nov 2, 2019

Generally the installer is ready for review.
Can't remember the old errors, but they should be gone.
Have to make a new push with the BB3.0 changes. Removed the 3 languages you removed, but haven't pushed no more...
The source isn't lint yet, but I think we can lint it later, 'cause it compiles and work as it is...
You should first switch to the 3, or 4 dot versioning, 'cause AppVeyor will not finish else. After that I must maybe do a push again, to get our changes (my suggested ones and then your really done) sync...
Would suggest you to start review with the UI. Download last version and have a look on feel & handle and give me feedback to it...

@Tobias-B-Besemer
Copy link
Contributor Author

Tobias-B-Besemer commented Nov 2, 2019

Oh, and you have to install the UMUI installer for this PR!
UMUI installer is basically the same as the normal installer but have included some plugins.
The UMUI installer is able to compile but versions...
As you know, I highly recommend the UMUI installer because of look, feel and simpler code by same functionality...
...and the project is also ~10yo and persists...

@Tobias-B-Besemer
Copy link
Contributor Author

@Tobias-B-Besemer
Copy link
Contributor Author

Tobias-B-Besemer commented Nov 11, 2019

The following PR will include the following changes:

@Tobias-B-Besemer Tobias-B-Besemer changed the title NSIS (Review wanted) NSIS.UMUI (Suggest solution!) (Review wanted) Nov 30, 2019
@Tobias-B-Besemer Tobias-B-Besemer changed the title NSIS.UMUI (Suggest solution!) (Review wanted) NSIS.UMUI.Complete (Suggest solution!) (Review wanted) Nov 30, 2019
@Tobias-B-Besemer Tobias-B-Besemer changed the title NSIS.UMUI.Complete (Suggest solution!) (Review wanted) NSIS.UMUI.Complete (Suggested solution!) (Review wanted) Nov 30, 2019
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.

None yet

2 participants