question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

MSI Bundle generator should honor msbuild ``Authors`` property when setting the authors value of the resulting msi file.

See original GitHub issue
  • This issue is blocking
  • This issue is causing unreasonable pain

For starters, let’s say for example an .NET Foundation project uses the arcade to produce Runtime and Reference msi bundles. The resulting bundles incorrectly state Authors: Microsoft Corporation instead of Authors: .NET Foundation for example (in case the user set the msbuild property named Authors to .NET Foundation (which I think some people do). However there is also 3rd parties who use the arcade to produce msi’s and while it might be ok for thinks to hardcode it to Microsoft Corporation I do not think it is a good idea to hard code it as when 3rd parties use arcade to produce said msi installers, users who do not know who actually made said bundles might incorrectly assume Microsoft made them and that they are “safe” to install.

This is why I find this an issue as well, anyone can add the arcade feeds into their nuget feeds and use the arcade packages to produce installers for their 3rd party code with ease. Due to that, it is never really a good idea to hard code this to begin with. This is both an issue of Trust for end users (as they would think that Microsoft made it and that it is free from malicious code (which might not always be the case)), as well as an issue where Microsoft incorrectly gets credit for things they did not make / fully own (as far as I am aware of).

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:15 (14 by maintainers)

github_iconTop GitHub Comments

2reactions
AraHaancommented, Dec 17, 2021

To be fair, I have seen external requests come in before from developers wanting to leverage parts of Arcade. While Arcade is open, I’m not sure that its original goal was to create a generic build system. There are many parts of Arcade that integrated with non-open software like Visual Studio. and would be of little value to external developers for now.

That also depends on what those external developers are making as well. Some people want to make their own .NET Runtimes (and crossgen2 specific things to make them faster) and possibly Integrate them into Visual Studio with an separate integration package.

As such even those developers would get upset if arcade stamps their packages with Microsoft Corporation instead of <insert company name here> that made the packages (I mean who would not be upset about that one).

Another example I would use would also be Paint.NET knowing that (assuming rick wanted to reduce the need to force the program to be SCD and do this to make it FDD):

  • it contains a public API to use for making plugins.
  • the public APIs contain some low level native bits for it’s implementation (and the person wants to ship the main application as AnyCPU but not sacrifice startup times by splitting much of the things it does into it’s own public apis and runtime packages specially optimized per cpu and so that way the apphost would just do the right thing and load the right one).
  • it gets updated every so often.
  • possible for plugins to have a copy of an old version of those public API binaries in their own folders (and possibly get loaded into a state that brings down the program aka dll hell).
  • other reasons not yet listed.

All of those would generally be solved with shipping those public apis as a runtime msi package (that can be installed in their DOTNET_ROOT and is crossgen2’d). This would solve this because now then none of the public api binaries would get copied on build unless they publish the plugins as self contained).

0reactions
AraHaancommented, Jan 13, 2022

yes, I even commented on the PR.

Read more comments on GitHub >

github_iconTop Results From Across the Web

NuGet pack and restore as MSBuild targets
Default is the value of $(Version) , that is, of the property Version in the project. PackageId, Specifies the name for the resulting...
Read more >
Create a NuGet package using MSBuild
A detailed guide to the process of designing and creating a NuGet package using MSBuild, including key decision points like files and ...
Read more >
MSI build executing the install wizard -exe file in SYSTEM ...
In visual studio installer project in C++, It created a msi file using some dependencies and executable files(In my case -InstallWizard.exe) ...
Read more >
How to set the nuget package creator
As you can see, you can set your Author name and Company name ... nuget packages on Azure pipelines using the the "nuget...
Read more >
NuGet again throwing exceptions "authors is required ...
NuGet Version 5.6.0.6591 does not display the Authors/Description error. ... resulting ClassLibrary1.nuspec file to the required properties.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found