microsoft / winfile

Original Windows File Manager (winfile) with enhancements
MIT License
6.76k stars 699 forks source link

New Release in the works #356

Closed craigwims closed 1 year ago

craigwims commented 1 year ago

Hi Everyone, I am working on a new release through all of the current channels. The Microsoft internal process of signing binaries such as winfile.exe has changed. Once I have that figured out, I will make the release.

In the meantime, I request that folks who can pull the latest sources build and test the changes that have been added over the last many months. Do report any new issues!

Craig.

craigwims commented 1 year ago

The internal tools require VS 2019 tools or later. We are currently on 2017. Do folks have a preference about using 2019 .vs. 2022?

Also, the tools require Control Flow Guard (/guard:cf). @schinagl and others, any issues with that?

The tooling changes I'm testing are currently staged in the branch craigwi-use-2019-toolset-142 which can only be tested by running through the internal ADO instance.

schinagl commented 1 year ago

The internal tools require VS 2019 tools or later. We are currently on 2017. Do folks have a preference about using 2019 .vs. 2022?

Also, the tools require Control Flow Guard (/guard:cf). @schinagl and others, any issues with that?

I have VS2019 and VS2022, thus I am fine. CFG can be enabled since VS2015, so ok too

malxau commented 1 year ago

The internal tools require VS 2019 tools or later. We are currently on 2017. Do folks have a preference about using 2019 .vs. 2022?

No...although I do have a preference for setting WindowsTargetPlatformVersion to 10.0, which wasn't possible on 2017. 10.0 means "any 10.0 SDK" as opposed to mandating a specific SDK build. This is very useful since there's now 12 of them, and having to download/keep a few GBs of space for every project requesting a specific one gets annoying. There's also a WindowsTargetPlatformMinVersion in case some minimum version is required, where a newer one will suffice.

(Of course, not specifying this also means that different developers may have different header versions. I doubt that's going to be a big deal because winfile doesn't generally need bleeding edge changes.)

schinagl commented 1 year ago

Do you have a rough schedule on the release? Will it be a x-mas or a 2023 spring release? Which PRs do we take?

I would like to have #352, #354 and #359 in if possible.

@malxau : which of your PRs should go in?

craigwims commented 1 year ago

I got the internal signing process to work before I had travel for thanksgiving. I should be able to finish before mid-December. I would like to take the PR that are mentioned by @schinagl above.

Most important to me is for testing of features already committed.

schinagl commented 1 year ago

Something else came to my mind:

podsvirov commented 1 year ago

Hello to all! Looks like we need #360 for MSYS2.

podsvirov commented 1 year ago

How new release will be tagged?

schinagl commented 1 year ago

Will we also provide winget download capability?

Winget has grown during the last 2 years and it is fairly easy to have it there

Did it for my ln.exe tool last night and and after a few little struggles due to my stupidity it worked well.

What do you think?

craigwims commented 1 year ago

winget support is fine. This used to be enabled (#255) but that manifest has since been removed (https://github.com/microsoft/winget-pkgs/commit/35f7664bdbd14f87bd7dcb8123966b5b163d0b86).

schinagl commented 1 year ago

winget support is fine. This used to be enabled (#255) but that manifest has since been removed (microsoft/winget-pkgs@35f7664).

This is odd. @ItzLevvie2: Why did you remove it?

craigwims commented 1 year ago

winget does not seem to support installing the VC++ library. Chocolatey does handle that. Anyone know how to handle that?

craigwims commented 1 year ago

Turns out there is rudimentary support for dependencies in the winget manifests.

Also, I found out that winget show "Windows File Manager" shows the current version in the store. Perhaps we don't need to do anything more than enable a more/better keywords.

schinagl commented 1 year ago
  Dependencies:
    PackageDependencies:
    - PackageIdentifier: Microsoft.VCRedist.2015+.x64

If there was no real reason to remove Winfile from winget by @ItzLevvie2 I would add it again once we are done with the release. Any veto?

craigwims commented 1 year ago

winget install "Windows File Manager" installs the thing. Assuming we can get winget install winfile to work, I don't think we need a separate winget manifest.

craigwims commented 1 year ago

At this point I have taken the last of the functional changes for this release; thus, we are in Release Candidate mode. PR accepted at this time would be for show-stopper bug fixes.

The three release modalities I am working on:

  1. Windows Store
  2. Chocolatey
  3. bare exe files (on github this time)

The latter two releases will be signed with the Microsoft OSS key.

I'm thinking the version number would be 10.2.0.0. Other suggestions?

@podsvirov, do you have what you need to update https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-winfile/PKGBUILD?

Anything else?

podsvirov commented 1 year ago

The PR #14463 was created. Anybody can download any artifacts, install via pacman -U <artifact> and test how it's work. Feel free to send any feedback .

UPDATE: New artifacts for v10.2.0.0 tag.

schinagl commented 1 year ago

Downloaded the 64bit version of your artefacts and looks good. Thx :-)

craigwims commented 1 year ago

I created a draft release which contains three winfile binaries built and signed by Microsoft. This is just the third item above.

https://github.com/microsoft/winfile/releases/tag/v10.2.0.0

The ARM binary is the old one (not the newer ARM64 @malxau suggests).

Do let me know if you have see any issues.

craigwims commented 1 year ago

Updated the draft release with new binaries, replacing the ARM one with ARM64.

craigwims commented 1 year ago

The release has been published: https://github.com/microsoft/winfile/releases/latest.

I will close this issue when the Store and Chocolately versions are approved.

Thanks to all who have helped put this together. I especially appreciate all of the effort @schinagl has put in.

podsvirov commented 1 year ago

The MSYS2 ~release are under review~. We have five binary releases via MSYS2. Commands to install:

pacman -S mingw-w64-i686-winfile
pacman -S mingw-w64-x86_64-winfile
pacman -S mingw-w64-ucrt-x86_64-winfile
pacman -S mingw-w64-clang-i686-winfile
pacman -S mingw-w64-clang-x86_64-winfile

Or just update previously installed version:

pacman -Syu

UPDATE: Review done. Binaries in the MSYS2 repo now. For more info see base package.

schinagl commented 1 year ago

Thanks to all who have helped put this together. I especially appreciate all of the effort @schinagl has put in.

Thx to you all also who have been a great community during the last year☺️

Will try to notify heise.de which is a very well known download site to update their link to this release.

Merry Xmas and a Happy New Year

Kind Regards Hermann

craigwims commented 1 year ago

All release points are now available. We need a minor update to readme.md to clarify the specifics.