[HN Gopher] Because cross-compiling binaries for Windows is easi...
       ___________________________________________________________________
        
       Because cross-compiling binaries for Windows is easier than
       building natively
        
       Author : slimsag
       Score  : 122 points
       Date   : 2022-06-18 19:09 UTC (3 hours ago)
        
 (HTM) web link (gist.github.com)
 (TXT) w3m dump (gist.github.com)
        
       | pjmlp wrote:
       | Typical UNIX FOSS rant, not taking into account all the
       | development workflows on Windows.
        
       | Dylan16807 wrote:
       | Configure autocrlf in what way? I don't want git to change my
       | files, and I don't know what problems they're talking about.
        
         | slimsag wrote:
         | Configure it to respect your preference ('don't change my
         | files') and not pester you with hundreds of warnings any time
         | you interact with Git if your preference differs:
         | warning: LF will be replaced by CRLF in
         | src/au/policy/dao/EmailQueue.java
        
       | ntauthority wrote:
       | Counterpoint for this rant (showing it's again not very
       | objective, and just what your or your environment's expectations
       | are): it's easier to cross-compile binaries for Linux (using
       | Clang and a sysroot on Windows) than it is to natively compile on
       | Linux (not using a sysroot, as that is the 'default' flow there)
       | if your environment is mostly Windows already. We do this for one
       | of our products, in fact.
       | 
       | The post meanwhile seems to be part about open source policy
       | (nasty, but not a technical issue - also including a new-to-me
       | and hard to find on a Google or DDG search fact about the VS
       | gallery endpoints having led to legal threats), part issues
       | induced by 'weird' modern languages not caring to support Windows
       | (as expected?), part Git for Windows not bothering to handle
       | symbolic links cleanly (and the weird admin-only default thing
       | that remained from Vista), and part... concerns where if people
       | would spread the proper way of doing stuff (curl.exe bundled by
       | default for downloads, or long file names being 'weird' - albeit
       | less broken than claimed here) instead of just ranting this'd be
       | fine too... but not really a coherent whole.
        
         | thrdbndndn wrote:
         | My counterpoint is simpler: I use some of these tools (like VS
         | Code) because they're better, not because they're open source.
         | 
         | Also I don't think Pylance or whatever core extensions being
         | closed source contradicts with the fact majority of VS Code (or
         | vscodium) is open-source. And I don't see anything morally
         | wrong that they want to close source some of their competitive
         | products.
        
       | labrador wrote:
       | This what is called in Cognitive Behavioral Therapy "All or
       | Nothing Thinking." Microsoft is a for-profit company. It is pro
       | open-source when it helps them and closed source also when it
       | helps them. I like the new Microsoft which has open sourced a lot
       | of stuff. It's way better than the old closed source regime.
        
         | unnouinceput wrote:
         | Oh, you and the article's author are either forgiven or seeing
         | the best in people. Me, on the other hand, who lived the
         | Microsoft with their shady dealings in Bill's / Ballmer's era,
         | I remember their crushing on OEM's to not allow even a shred of
         | openness in their systems. Only because of shifting in
         | developer's in favor of Apple's / Google's Microsoft changed
         | the tune with "Microsoft loves Linux". Bleah! I have no love
         | for Microsoft despite my work involving their products 90% of
         | my time. I am just realistic, they just love money, nothing
         | else. And if money means open source, guess what?! They bought
         | GitHub and they own everything that is published there. That's
         | why plenty left GitHub and either started their own venture or
         | went to GitLab.
         | 
         | Sorry for my rant, I had to get it off my chest.
        
           | eknkc wrote:
           | Microsoft always had great developer tech. And having access
           | to that tech more freely (as in on other platforms, partially
           | open source etc) is a significant plus for me.
           | 
           | I loved .net back in 2003 or whatever. Then I never got to
           | use it for years because I was on unix land. It is now open
           | source and multi platform.
           | 
           | They attacked open anything with all their might (and they
           | were fucking mighty) and the enemy still flourished.
           | 
           | Let them come again. If the new strategy is to pump high
           | quality software out in the open, I hope it becomes a long
           | and bloody war.
        
           | labrador wrote:
           | Gates and Balmer are long gone and it's no longer the same
           | company. If they only loved money, they wouldn't be amenable
           | to their workers unionizing.
           | 
           | "CWA, Microsoft Announce Labor Neutrality Agreement"
           | 
           | https://cwa-union.org/news/releases/cwa-microsoft-
           | announce-l...
           | 
           | Sorry to be this way, but I'm refreshing my memory about CBT
           | today:
           | 
           | Over-generalization: Make a comprehensive, negative
           | conclusion that is beyond the current situation.
           | 
           | Labeling and Mis-labeling: The extreme form of
           | overgeneralization. Use fixed, comprehensive, and emotional
           | language to label yourself or others.
           | 
           | Disqualifying the Positive: Unreasonably believe that
           | positive experiences, behaviors or qualities do not count.
           | 
           | Jumping to Conclusions: Making a conclusion before having all
           | the evidence.
           | 
           | Emotional Reasoning: Draw conclusions from your own feelings,
           | because what I think is what the facts are.
        
       | jrm4 wrote:
       | Microsoft's days as a 'primary' desktop operating system are
       | numbered. The OP doesn't seem to understand this, but even
       | Microsoft itself does, which is why most of its major moves the
       | past few years haven't been improving its own desktop, but
       | positioning itself to control "open source" the best it can.
       | 
       | More people within the MS ecosystem should understand this.
        
         | munchler wrote:
         | One can argue that desktops are no longer the primary computing
         | environment, but I don't think there's any evidence that
         | Windows is about to displaced within the desktop world.
         | 
         | What are you proposing will become the primary desktop OS? Some
         | Linux flavor of the month? MacOS? Neither seems at all likely
         | in the foreseeable future.
        
         | pjmlp wrote:
         | Better check those desktop market share numbers.
        
           | blibble wrote:
           | I suspect if you restrict it to developers the numbers would
           | look very, very different
           | 
           | on the stackoverflow survey windows is 41.2%:
           | https://insights.stackoverflow.com/survey/2021#most-
           | popular-...
        
             | _gabe_ wrote:
             | If you toggle that response to "All Respondents" instead of
             | "Professional Developers" Windows goes up to 45%. Plus, 3%
             | of users are using windows subsystem for Linux. So 48%.
             | Whereas Mac and Linux are both at 25%. Even for developers,
             | Windows is still the clear majority.
        
         | [deleted]
        
       | e4m2 wrote:
       | > Are derived community works, like say the D-language, Dart, or
       | Zig bindings to the win32 API which are generated from those
       | files open source - if Microsoft did not release them as such?
       | 
       | Certainly. The source for these bindings is the WinMD file, which
       | is MIT licensed. While it is true that its contents are generated
       | wholly from non-FOSS sources, it doesn't impact end users of the
       | metadata. Microsoft owns the original IDL/headers and can choose
       | to license any related work however they like.
        
         | [deleted]
        
       | nshm wrote:
       | For me SDK sizes are showstopper. Mingw packages are probably
       | 100-200 Mb total. To build anything native one has to install
       | Windows (20+Gb in modern version and then Visual Studio 40+Gb).
       | Not so easy to fit it all on an SSD drive.
       | 
       | Xcode also have this problem now. 8Gb for Xcode 7 is manageable.
       | But why 70Gb for Xcode 11?
        
         | swarnie wrote:
         | A 1tb M.2 drive is what... PS70?
         | 
         | If that's out of reach im not sure how you're powering your dev
         | machine.
        
           | coder543 wrote:
           | > > Xcode also have this problem now. 8Gb for Xcode 7 is
           | manageable. But why 70Gb for Xcode 11?
           | 
           | > A 1tb M.2 drive is what... PS70?
           | 
           | To be contextually fair, Apple charges $400, and the storage
           | isn't replaceable. Who runs their editor off of an external
           | drive? I imagine the number is very small.
           | 
           | Although, on my machine, Xcode only seems to be taking up
           | 17GB, not 70GB.
        
           | [deleted]
        
           | dotopotoro wrote:
           | It's not bleeding edge raytracing stuff. "Get better
           | hardware" is far from appropriate response.
        
         | pjmlp wrote:
         | Mingw doesn't support anything other than basic UNIX on top of
         | Win32, naturally they take so little.
        
         | maccard wrote:
         | The visual studio build tools are substantially smaller than
         | 40GB. My IDE install is about 25GB, and visual studio has
         | distributed the build tools separately since vs2015 - my
         | toolchains directory is about 4GB including whatever dotnet
         | runtimes, windows GDK.
         | 
         | > Not so easy to fit it all on an SSD drive.
         | 
         | Professionally, no excuse. As an open source or otherwise
         | unpaid pursuit, a 250GB SSD is about $45 on Amazon right now.
         | That more than comfortably fits your 60GB estimate, with plenty
         | of room to spare.
        
         | slimsag wrote:
         | I'm cross-compiling Mach engine[0] with Zig, it ends up being a
         | quite small toolchain to cross-compile a game engine (using
         | DirectX, Vulkan, OpenGL, and Metal on respective platforms)
         | from any OS. The Zig toolchain is:                   * Windows:
         | 61 MiB         * Linux (x86): 49 MiB         * macOS (x86): 42
         | MiB         * macOS (arm): 38 MiB
         | 
         | Zig provides almost everything that is needed to cross compile
         | to those same targets out of the box, including libc and some
         | system libraries. Except macOS frameworks and some updated
         | DirectX headers/libraries (provides MinGW ones), which we
         | bundle and ship separately:                   * Windows: 7 MiB
         | (updated D3D12 headers & libs)         * MacOS: 112 MiB (almost
         | all frameworks provided by XCode, for x86+arm+iOS)         *
         | Linux (x86): 22 MiB (x11/wayland headers & libs)         *
         | Linux (arm): 15 MiB
         | 
         | That's full cross compilation of WebGPU GUI applications to all
         | desktop platforms in under ~217 MiB for most platforms.
         | 
         | [0] https://machengine.org
        
           | TazeTSchnitzel wrote:
           | You can accomplish similar things by targeting, say, SDL2
           | with a C compiler. It's a nice solution when you don't need
           | platform-specific stuff, but it's not a general substitute
           | for having the platform SDK, alas. With that said, targeting
           | SDL2 is what I do... but the apps I like to write are games.
        
         | schemescape wrote:
         | I ran into this when trying to test out Rust. On Windows, they
         | recommend using native tools that require a multi-gigabyte
         | download via the Visual Studio installer (and this is just for
         | tools--not Visual Studio, the IDE).
         | 
         | It was annoying for me because part of the reason I wanted to
         | try Rust on Windows was specifically to avoid multi-gigabyte
         | C/C++ toolchain downloads. I bet the actual compiler and linker
         | aren't that big, so I kind of wonder where all those bytes are
         | going...
         | 
         | Aside: I see a sibling comment mentions Zig. While I haven't
         | really explored Zig, the tiny single-binary download was a
         | breath of fresh air. Go also had a quick and easy download, but
         | I wanted a language without a garbage collector.
        
           | seanp2k2 wrote:
           | Try cross-compiling Go apps that use GTK3 if you'd like to
           | spend a few days in intense pain. It's not there yet.
           | Electron apps are probably the closest thing we have today
           | that actually works correctly on Win / Linux / Mac.
        
         | seanp2k2 wrote:
         | The other problem with Xcode is that it won't run on anything
         | except a Mac, and MacOS licensing prevents one from running it
         | on non-Mac hardware or virtualizing it. That's why services
         | like https://www.macstadium.com/ and AWS mac instances exist,
         | but it's very annoying to have to work around this just because
         | of dinosaur business models and licensing.
        
         | recursive wrote:
         | There are very few things that actually require Visual Studio
         | just to build.
        
           | steeleduncan wrote:
           | Interesting, how can I install just the cmake + msvc to do
           | command line builds with windows? I'm also installing wsl2 +
           | mingw because it is so much lighter for compilation than
           | many, many gigabytes of vis studio.
        
             | aaron-stackbit wrote:
             | `msbuild` is what I used back in the day. It seems to still
             | exist, but I have no idea if this is still preferred
             | solution. I just use WSL 2 these days, and live with the
             | extra io latency.
        
             | e4m2 wrote:
             | Download the build tools[0] and choose the appropriate
             | options. I'd personally consider the following a good
             | baseline: MSVC v143, CMake tools, Windows 11 SDK, Clang
             | tools (if you don't want/need these you can shave off 3.5
             | GB). `zig cc` is another interesting alternative, it's just
             | a single ~62 MB download.
             | 
             | [0] https://visualstudio.microsoft.com/downloads/#build-
             | tools-fo...
        
               | steeleduncan wrote:
               | Thanks, I'll give that a try!
        
         | cptskippy wrote:
         | Visual Studio's install size is highly dependent on what you
         | install. The minimum size is only 800mb, everything is 120gb.
         | 
         | Many of the high level categories, like Web Development,contain
         | features you'll probably never use. If you're concerned about
         | file size you can do a custom install to get a very lean
         | install.
         | 
         | That being said, I would still recommend a Windows VM be
         | allocated a 120Gb drive.
        
         | xboxnolifes wrote:
         | > To build anything native one has to install Windows (20+Gb in
         | modern version and then Visual Studio 40+Gb). Not so easy to
         | fit it all on an SSD drive.
         | 
         | Maybe a decade ago, but SSDs are so much cheaper per GB
         | nowadays. Around $0.11/GB. Pretty sure that's cheaper than the
         | first 1TB HDD I've owned.
        
           | nshm wrote:
           | Not when you are on Macbook. Don't suggest external drives
           | please ;)
        
             | nicoburns wrote:
             | True historically, but this has actually been solved on the
             | latest macs. Base spec for the MacBook Pro is 1TB disk.
        
             | landryraccoon wrote:
             | But you don't _have_ to develop on Macbook. So you
             | intentionally chose a platform known for being really
             | expensive and now your main complaint is that it 's too
             | expensive?
             | 
             | I don't really think that the toolchain is to blame for
             | that one.
        
               | throwawaymaths wrote:
               | > But you don't have to develop on Macbook
               | 
               | Can you please tell that to my IT department which
               | refused to issue me a Linux laptop for 1 month, then took
               | two months to put the order in... I had to get an
               | executive (President of R&D) at the company to harangue
               | IT... I still haven't seen it, apparently they are trying
               | to install the standard "employee spyware" package on it.
        
               | LeoNatan25 wrote:
               | If your IT department is an overt detriment to your
               | development effort, send a letter to your company's upper
               | management and leave. This is the only way to push for
               | change in these moronic companies, and you keep your
               | sanity.
        
               | sumy23 wrote:
               | I do need to develop on a Macbook. The hardware is just
               | so much better than anything else out there. This is my
               | personal opinion of course, but I would rather stop being
               | a software developer than to develop software using a
               | different laptop available on the market today.
        
               | forrestthewoods wrote:
               | Meanwhile I'd rather serve coffee than be a software
               | developer on any laptop! I can't fathom developing on
               | anything other than a high-end desktop.
               | 
               | M1 is very impressive. But I hate macOS as much, if not
               | more than, you hate Windows. My Threadripper makes me
               | very happy.
        
               | downut wrote:
               | Yeah, given the sheer cpu/ram/m.2 power of what even a
               | tiny NUC provides, with modular, replaceable
               | monitor(s)/keyboard/mouse/USB(3/C/Thunderbolt)/HDMI etc,
               | for less than a Mac, I am unable to understand the appeal
               | of a laptop. And I use a i7/64GB/1TB NUC for traveling! I
               | use a twice as powerful Ryzen rack server for my office
               | dev box. 5m extension cables so the noise is in a closet.
               | 
               | I have no problems with external drives. Is this a Mac
               | thing too?
               | 
               | 32 years ago as a fresh out I got a government job with
               | an SGI box with an enormous monitor. I stare in wonder at
               | the future, right now. It sure doesn't look like
               | happiness.
        
               | coder543 wrote:
               | > But you don't have to develop on Macbook.
               | 
               | The context of this thread literally mentions Xcode. You
               | need a Mac to use Xcode.
               | 
               | > I don't really think that the toolchain is to blame for
               | that one.
               | 
               | How is the toolchain not even partially to blame?
               | 
               | Some people develop for Mac and iOS. They're not allowed
               | to complain if Apple bloats the toolchain?
        
             | cowtools wrote:
             | I thought apple computers usually had thunderbolt ports.
             | You can't just connect a thunderbolt/M.2 drive enclosure
             | and mount it as root?
        
               | colejohnson66 wrote:
               | That's still an external drive
        
       | forrestthewoods wrote:
       | It's funny because I find compiling and deploying for Windows
       | far, far, far easier than Linux. That said, the complaints are
       | all good and fair.
        
       | dataflow wrote:
       | Now try building a "portable" binary that runs on a version of
       | Linux older than yours.
        
         | hacker_homie wrote:
         | Easy static link everything.
         | 
         | I think you meant a GUI application that runs on a version of
         | Linux older than yours.
        
           | dataflow wrote:
           | Statically link _everything_? Including glibc?
        
         | rocqua wrote:
         | Isn't that simply a matter of targeting an older glibc? I am
         | probably missing something though.
        
           | dataflow wrote:
           | Yes, "simply". It's a very fun process. Around 100x more fun
           | than the onerous                 git config --global
           | core.symlinks true
        
       | userbinator wrote:
       | Only if you want to be trendchasing rather than letting backwards
       | compatibility take care of itself...
       | 
       | I'm a native Win32 developer, have been one for a few decades,
       | and know quite a few others still using _MSVC6_ because it 's
       | fast and enough for what they do. Takes <250MB of disk space, and
       | the self-contained binaries it generates will work on any version
       | of Windows starting at Win95.
       | 
       |  _Long file paths: Azure, OpenSearch, and ~90 other open source
       | projects have to document how to enable long file paths on
       | Windows because the default is a ~255 character limit._
       | 
       | Personally, I think 260 is long enough and plenty to work with,
       | while at the same time discouraging the ridiculous verboseness
       | that seems to have crept into "modern" software. Then again, I
       | stay away from .NET, VSCode, and the like. I am reminded of this
       | post by Raymond Chen:
       | 
       | https://devblogs.microsoft.com/oldnewthing/20070301-00/?p=27...
        
         | akelly wrote:
         | It's incredibly fitting that all the links on that post are 403
         | Forbidden
        
           | userbinator wrote:
           | That's Microsoft being (the new, not the old) Microsoft...
           | they seriously fucked up the MSDN documentation when it was
           | migrated to docs.microsoft.com, so I'm not surprised that a
           | similar thing happened to the blogs:
           | 
           | https://news.ycombinator.com/item?id=20351358
        
       | colejohnson66 wrote:
       | Are symlinks on Windows really such a big issue? I've never heard
       | of projects using symlinks in their tree. If Windows developers
       | are complaining about you doing something unusual, why is it
       | their fault?
        
         | pjmlp wrote:
         | Nope, since XP that you can use mklink, and before there were
         | Technet utilities for the same purpose.
         | 
         | However using symlinks just isn't a thing in the Windows
         | culture, people use at most Shell shortcuts.
        
         | slimsag wrote:
         | Certainly better to avoid it if at all possible, and I'll be
         | eliminating them specifically to improve Windows compatibility.
         | 
         | It's not that unusual, though, a quick search turns up 1.1k
         | GitHub repositories with `git config core.symlinks true` in
         | their documentation or CI pipelines - including quite popular
         | projects like Ava, Apache Arrow, Solana, Chrome Devtools,
         | adobe-fonts, IBM/houdinID, travis-ci, RabbitMQ, various Google
         | projects & more.
        
           | colejohnson66 wrote:
           | I agree that Windows could do more to support the developers
           | on other platforms. Symlinks just seem like a petty thing to
           | complain about IMHO. Didn't realize how common they were
           | though.
           | 
           | NTFS does support them, however. Is Git just not supporting
           | them properly?
        
             | Pathogen-David wrote:
             | NTFS has supported them for ages. The main issue is that
             | they're locked behind elevated permissions or having
             | developer mode enabled (as of Windows 10.)
             | 
             | My understanding is Microsoft's concern is that
             | applications and OS components not expecting them could
             | lead to security issues. Not sure how real that concern is,
             | but that's the excuse I've heard.
        
             | pjmlp wrote:
             | It does support them, mklink.
             | 
             | https://docs.microsoft.com/en-us/windows-
             | server/administrati...
        
               | colejohnson66 wrote:
               | Yes, Windows does, but this post is complaining about
               | support. Which led me to ask if Git is the problem. Cause
               | Git also supports symlinks, but is clearly having issues
               | on Windows.
        
               | bogwog wrote:
               | I would assume the issue is that they need to disable
               | symlink support by default on Windows because symlink
               | support is disabled by default on Windows.
        
             | fortran77 wrote:
             | That's exactly it. Windows developers know NTFS has
             | Symbolic Links https://docs.microsoft.com/en-
             | us/windows/win32/fileio/creati...
        
               | bilekas wrote:
               | Maybe I missed something on this discussion but symlinks
               | and NTFS are not really related.. They have them yes, how
               | they're handled is different.
        
               | fragmede wrote:
               | How are they not related? If NTFS didn't have symlinks we
               | wouldn't be having this discussion. Critically, the
               | modern standard for removable drives, exFAT does not
               | support symlinks, so you can't count on Windows' support
               | for symlinks if the user is git cloning on a drive that's
               | using exFAT.
        
               | pjmlp wrote:
               | https://docs.microsoft.com/en-us/windows-
               | server/administrati...
        
               | CoastalCoder wrote:
               | What's the standard for being an "actual Windows user"?
               | 
               | Asking because I doubt e.g. my mom knows that NTFS has
               | symlinks.
        
               | Dylan16807 wrote:
               | > What's the standard for being an "actual Windows user"?
               | 
               | I think you misread that line.
        
               | slimsag wrote:
               | Their message originally read "Actual Windows developers
               | know NTFS has Symbolic Links"
        
               | pjmlp wrote:
               | Is she a Windows developer?
               | 
               | https://docs.microsoft.com/en-us/windows-
               | server/administrati...
        
               | slimsag wrote:
               | The developers who complained to me about this are
               | Windows developers regularly.
               | 
               | One is even a professional AAA DirectX gamedev.
        
             | slimsag wrote:
             | Well, it feels 'petty' and simple until:
             | 
             | 1. You run into it, go "AH, wow, okay, I'll enable
             | Developer Mode"
             | 
             | 2. It still doesn't work, you're confused, you Google
             | around a bit more and find out actually you also need to
             | use a Git config option
             | 
             | 3. You retry, now the symlinks work, but your compiler
             | fails because "Destination Path Too Long", huh, that's
             | weird
             | 
             | 4. You google a bit more, and discover you need to set a
             | registry option. So you do it, but you still get that
             | error..
             | 
             | 5. You discover there's another Git option you need to set
             | 
             | And then you're like, hey, what was I doing again? Where
             | did the last hour of my time go? It's death by a thousand
             | paper cuts.
        
               | [deleted]
        
           | [deleted]
        
         | gizmo686 wrote:
         | The higher level thing to notice is that Windows is a second
         | class platform for much of the software world. As such, it is
         | in a position where it needs to bend the knee for compatibility
         | with the dominant platform if they want it to be an active
         | player in the larger ecosystem. In the case of symlinks, the
         | hard part is already done, to the point where it is a toggle
         | that has already been implemented, the UX of enabling it is
         | just bad.
        
           | pjmlp wrote:
           | For game developers and GUI applications it is first class.
           | 
           | Apparently being the best in symlinks hasn't made a
           | difference in the Year of Desktop Linux.
        
         | binarycrusader wrote:
         | You don't have to enable Developer Mode to enable symlink
         | creation. Administrators have the right to by default and non-
         | administrator users can get this by enabling the documented
         | policy:
         | 
         | https://docs.microsoft.com/en-us/windows/security/threat-pro...
         | 
         | Developer Mode is just a bundle of useful developer-related
         | settings and components that get applied to the device when
         | enabled.
         | 
         | There's a post here about this from the Developer Mode angle
         | with a bit more background:
         | 
         | https://blogs.windows.com/windowsdeveloper/2016/12/02/symlin...
        
         | nicoburns wrote:
         | Projects don't use symlinks _because_ they aren't supported on
         | windows.
        
           | pjmlp wrote:
           | https://docs.microsoft.com/en-us/windows-
           | server/administrati...
        
             | Dylan16807 wrote:
             | The command won't help when you don't have the permissions.
             | 
             | Or do you just want it to be phrased "not supported for
             | users on normally configured systems"? There, then.
        
       | Animats wrote:
       | It is. I generate the Windows executables for a program by cross-
       | compiling Rust on Linux. Then test with Wine. The Rust crates are
       | cross-platform enough that I don't have to special case
       | platforms. This is easier than having a Windows machine.
       | 
       | The only current headache is that there's no pure Rust bundler,
       | to make ".msi" or ".msix" installer files.
       | 
       | If you dump the legacy OS stuff, it gets easier.
        
         | encryptluks2 wrote:
         | Good news is winget will soon support single binaries so that
         | is one option.
        
         | anothernewdude wrote:
         | I did a similar thing, but I only ever compiled windows
         | versions using Github actions.
        
         | ratww wrote:
         | Doesn't cargo-bundle do that? I haven't tried to use it to
         | generate .msi files, only for iOS/macOS, but it has the
         | feature!
        
           | Animats wrote:
           | Cargo-bundle was _supposed_ to do that, but only the Mac part
           | was completed. Nobody ever did the .msi output. I 've been
           | trying to get someone interested in doing that. That task
           | needs someone very familiar with the Microsoft ecosystem,
           | which I am not. Discussion in Rust tools forum here.[1]
           | 
           | [1] https://internals.rust-lang.org/t/cross-platform-
           | bundling/16...
        
         | Slartie wrote:
         | > The only current headache is that there's no pure Rust
         | bundler, to make ".msi" or ".msix" installer files.
         | 
         | I have set up a toolchain based on Wix, running via Mono and
         | Wine on Linux, for the purpose of packaging some rather complex
         | .msi files in a commercial software project. Has been running
         | on the Linux-based CI servers of that project for 10 years
         | straight now, with the only change having been that the entire
         | chain has been packaged into a Docker container a few years ago
         | when that became fashionable.
        
       ___________________________________________________________________
       (page generated 2022-06-18 23:00 UTC)