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

git.exe and many other apps do not have the Terminal Server aware flag set #3935

Closed
1 task done
ElemenTP opened this issue Jul 5, 2022 · 4 comments · Fixed by #3942
Closed
1 task done

git.exe and many other apps do not have the Terminal Server aware flag set #3935

ElemenTP opened this issue Jul 5, 2022 · 4 comments · Fixed by #3942

Comments

@ElemenTP
Copy link

ElemenTP commented Jul 5, 2022

  • I was not able to find an open or closed issue matching what I'm seeing

Setup

  • Which version of Git for Windows are you using? Is it 32-bit or 64-bit?
$ git --version --build-options

git version 2.37.0.windows.1
cpu: x86_64
built from commit: 989c3a6832b035f6124b0a23da9c0f8f18afa550
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon
  • Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?
$ cmd.exe /c ver

Microsoft Windows [Version 10.0.22621.105]
  • What options did you set as part of the installation? Or did you choose the
    defaults?
Editor Option: VisualStudioCode
Custom Editor Path:
Default Branch Option:
Path Option: Cmd
SSH Option: ExternalOpenSSH
Tortoise Option: false
CURL Option: WinSSL
CRLF Option: CRLFAlways
Bash Terminal Option: ConHost
Git Pull Behavior Option: Merge
Use Credential Manager: Enabled
Performance Tweaks FSCache: Enabled
Enable Symlinks: Disabled
Enable Pseudo Console Support: Enabled
Enable FSMonitor: Disabled
  • Any other interesting things about your environment that might be related
    to the issue you're seeing?

none

Details

Terminal Server aware is an optional flag in the PE header.

According to the doc by Microsoft Create Terminal Server aware application, when loading an application with no Terminal Server aware flag, Terminal Server will do extra work(makes loading slower). This behavior is for compatibility with very old applications. Microsoft 's toolchain has made this flag set for every app by default for a long time.

I use a script and MSVC dumpbin util to check every .exe file in git for windows folder, finding git.exe and many bundled applications do not have Terminal Server aware flag set. They are in the list below. (By the way, the little program here #644 is also a good choice to check this flag)

D:\Program Files\Git\git-bash.exe
D:\Program Files\Git\git-cmd.exe
D:\Program Files\Git\bin\bash.exe
D:\Program Files\Git\bin\git.exe
D:\Program Files\Git\bin\sh.exe
D:\Program Files\Git\cmd\git-gui.exe
D:\Program Files\Git\cmd\git-lfs.exe
D:\Program Files\Git\cmd\git.exe
D:\Program Files\Git\cmd\gitk.exe
D:\Program Files\Git\mingw64\bin\acountry.exe
D:\Program Files\Git\mingw64\bin\adig.exe
D:\Program Files\Git\mingw64\bin\ahost.exe
D:\Program Files\Git\mingw64\bin\antiword.exe
D:\Program Files\Git\mingw64\bin\blocked-file-util.exe
D:\Program Files\Git\mingw64\bin\brotli.exe
D:\Program Files\Git\mingw64\bin\bunzip2.exe
D:\Program Files\Git\mingw64\bin\bzcat.exe
D:\Program Files\Git\mingw64\bin\bzip2.exe
D:\Program Files\Git\mingw64\bin\bzip2recover.exe
D:\Program Files\Git\mingw64\bin\connect.exe
D:\Program Files\Git\mingw64\bin\create-shortcut.exe
D:\Program Files\Git\mingw64\bin\curl.exe
D:\Program Files\Git\mingw64\bin\edit_test.exe
D:\Program Files\Git\mingw64\bin\edit_test_dll.exe
D:\Program Files\Git\mingw64\bin\envsubst.exe
D:\Program Files\Git\mingw64\bin\gettext.exe
D:\Program Files\Git\mingw64\bin\git-askpass.exe
D:\Program Files\Git\mingw64\bin\git-askyesno.exe
D:\Program Files\Git\mingw64\bin\git-credential-helper-selector.exe
D:\Program Files\Git\mingw64\bin\git-receive-pack.exe
D:\Program Files\Git\mingw64\bin\git-upload-archive.exe
D:\Program Files\Git\mingw64\bin\git-upload-pack.exe
D:\Program Files\Git\mingw64\bin\git.exe
D:\Program Files\Git\mingw64\bin\lzmadec.exe
D:\Program Files\Git\mingw64\bin\lzmainfo.exe
D:\Program Files\Git\mingw64\bin\odt2txt.exe
D:\Program Files\Git\mingw64\bin\openssl.exe
D:\Program Files\Git\mingw64\bin\p11-kit.exe
D:\Program Files\Git\mingw64\bin\pdftotext.exe
D:\Program Files\Git\mingw64\bin\pkcs1-conv.exe
D:\Program Files\Git\mingw64\bin\proxy-lookup.exe
D:\Program Files\Git\mingw64\bin\sexp-conv.exe
D:\Program Files\Git\mingw64\bin\tclsh.exe
D:\Program Files\Git\mingw64\bin\tclsh86.exe
D:\Program Files\Git\mingw64\bin\trust.exe
D:\Program Files\Git\mingw64\bin\unxz.exe
D:\Program Files\Git\mingw64\bin\WhoUses.exe
D:\Program Files\Git\mingw64\bin\wish.exe
D:\Program Files\Git\mingw64\bin\wish86.exe
D:\Program Files\Git\mingw64\bin\x86_64-w64-mingw32-agrep.exe
D:\Program Files\Git\mingw64\bin\x86_64-w64-mingw32-deflatehd.exe
D:\Program Files\Git\mingw64\bin\x86_64-w64-mingw32-inflatehd.exe
D:\Program Files\Git\mingw64\bin\xmlcatalog.exe
D:\Program Files\Git\mingw64\bin\xmllint.exe
D:\Program Files\Git\mingw64\bin\xmlwf.exe
D:\Program Files\Git\mingw64\bin\xz.exe
D:\Program Files\Git\mingw64\bin\xzcat.exe
D:\Program Files\Git\mingw64\bin\xzdec.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-add.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-am.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-annotate.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-apply.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-archive.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-bisect--helper.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-blame.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-branch.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-bugreport.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-bundle.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-cat-file.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-check-attr.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-check-ignore.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-check-mailmap.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-check-ref-format.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-checkout--worker.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-checkout-index.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-checkout.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-cherry-pick.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-cherry.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-clean.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-clone.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-column.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-commit-graph.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-commit-tree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-commit.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-config.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-count-objects.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-credential-cache--daemon.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-credential-cache.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-credential-store.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-credential-wincred.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-credential.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-daemon.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-describe.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-diff-files.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-diff-index.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-diff-tree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-diff.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-difftool.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-env--helper.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fast-export.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fast-import.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fetch-pack.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fetch.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fmt-merge-msg.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-for-each-ref.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-for-each-repo.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-format-patch.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fsck-objects.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fsck.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-fsmonitor--daemon.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-gc.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-get-tar-commit-id.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-grep.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-hash-object.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-help.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-hook.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-http-backend.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-http-fetch.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-http-push.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-imap-send.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-index-pack.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-init-db.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-init.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-interpret-trailers.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-log.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-ls-files.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-ls-remote.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-ls-tree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-mailinfo.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-mailsplit.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-maintenance.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge-base.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge-file.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge-index.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge-ours.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge-recursive.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge-subtree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge-tree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-merge.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-mktag.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-mktree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-multi-pack-index.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-mv.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-name-rev.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-notes.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-pack-objects.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-pack-redundant.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-pack-refs.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-patch-id.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-prune-packed.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-prune.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-pull.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-push.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-range-diff.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-read-tree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-rebase.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-receive-pack.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-reflog.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-remote-ext.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-remote-fd.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-remote-ftp.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-remote-ftps.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-remote-http.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-remote-https.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-remote.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-repack.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-replace.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-rerere.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-reset.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-restore.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-rev-list.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-rev-parse.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-revert.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-rm.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-send-pack.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-sh-i18n--envsubst.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-shortlog.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-show-branch.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-show-index.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-show-ref.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-show.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-sparse-checkout.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-stage.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-stash.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-status.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-stripspace.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-submodule--helper.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-switch.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-symbolic-ref.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-tag.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-unpack-file.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-unpack-objects.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-update-index.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-update-ref.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-update-server-info.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-upload-archive.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-upload-pack.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-var.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-verify-commit.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-verify-pack.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-verify-tag.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-whatchanged.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-worktree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git-write-tree.exe
D:\Program Files\Git\mingw64\libexec\git-core\git.exe
D:\Program Files\Git\mingw64\libexec\git-core\headless-git.exe
D:\Program Files\Git\mingw64\libexec\p11-kit\p11-kit-remote.exe
D:\Program Files\Git\mingw64\libexec\p11-kit\p11-kit-server.exe
D:\Program Files\Git\mingw64\share\git\compat-bash.exe
D:\Program Files\Git\mingw64\share\git\edit-git-bash.exe
D:\Program Files\Git\mingw64\share\git\git-wrapper.exe
D:\Program Files\Git\usr\bin\cygcheck.exe
D:\Program Files\Git\usr\bin\cygwin-console-helper.exe
D:\Program Files\Git\usr\bin\ldh.exe
D:\Program Files\Git\usr\bin\strace.exe
D:\Program Files\Git\usr\bin\winpty-agent.exe
D:\Program Files\Git\usr\bin\winpty-debugserver.exe
D:\Program Files\Git\usr\libexec\getprocaddr32.exe
D:\Program Files\Git\usr\libexec\getprocaddr64.exe

Some most used applications(git.exe, sh.exe, curl.exe, etc) do not have Terminal Server aware flag set, I think it will improve the performance of git for windows if we can set that flag of those apps.

For a mingw linker like git for windows is using, specifing --tsaware to the linker(-Wl,--tsaware) will get the work done. I have tested this with building aria2, but I havn't tried with git for windows yet.

@PhilipOakley
Copy link

Aside: Many of the .exe files are just hard links back to the core git.exe, so task might not be as large as may be thought. See the Git-for-Windows FAQ

rimrul added a commit to rimrul/git that referenced this issue Jul 10, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses git-for-windows#3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
rimrul added a commit to rimrul/build-extra that referenced this issue Jul 10, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

This partially addresses git-for-windows/git#3935

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
rimrul added a commit to rimrul/build-extra that referenced this issue Jul 11, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

This partially addresses git-for-windows/git#3935

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
@dscho dscho linked a pull request Jul 27, 2022 that will close this issue
@dscho dscho added this to the Next release milestone Jul 27, 2022
@dscho
Copy link
Member

dscho commented Jul 27, 2022

I plan on merging this today, after building a new perl package (and all the dependent packages).

@rimrul
Copy link
Member

rimrul commented Jul 27, 2022

Please note that my two PRs should significantly shorten the long list above, but won't fix all entries.

I haven't gotten around to starting on PRs for MINGW-Pacakges, MSYS2-Packages and Git LFS.

@dscho
Copy link
Member

dscho commented Jul 27, 2022

Please note that my two PRs should significantly shorten the long list above, but won't fix all entries.

In the context of Git for Windows, I think it should be good enough to focus on the git-* executables.

dscho pushed a commit that referenced this issue Jul 27, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit that referenced this issue Jul 28, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit that referenced this issue Jul 28, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit that referenced this issue Jul 28, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Jul 28, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Jul 28, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Jul 29, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Jul 29, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Jul 29, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Jul 29, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Jul 29, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Aug 1, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Aug 1, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Aug 3, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Aug 3, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit that referenced this issue Aug 5, 2022
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 22, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 22, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 23, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 23, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 24, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit to microsoft/git that referenced this issue Apr 24, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses git-for-windows#3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 24, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit that referenced this issue Apr 25, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 25, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 25, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit that referenced this issue Apr 25, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 25, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 26, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 26, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 26, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 26, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 26, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 27, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 27, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 29, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 29, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
dscho pushed a commit to microsoft/git that referenced this issue Apr 29, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses git-for-windows#3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 29, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue Apr 29, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue May 1, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue May 1, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue May 1, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue May 4, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue May 4, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
git-for-windows-ci pushed a commit that referenced this issue May 9, 2024
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as
"terminal server aware". Windows terminal servers provide a redirected Windows directory and
redirected registry hives when launching legacy applications without this flag set. Since we
do not use any INI files in the Windows directory and don't write to the registry, we don't
need  this additional preparation. Telling the OS that we don't need this should provide
slightly improved startup times in terminal server environments.

When building for supported Windows Versions with MSVC the /TSAWARE linker flag is
automatically set, but MinGW requires us to set the --tsaware flag manually.

This partially addresses #3935.

Signed-off-by: Matthias Aßhauer <mha1993@live.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants