This commit logs a diagnostic message when the `DOTNET_CLI_HOME` variable is
used. This enables users to determine where first-run-experience and global
tool files are being written to.
Fixes#9510.
do as part of first run based on whether this is the invoke-reportsuccess from a native installer or a regular command
being invoked for the first time. This in turn allows us to ignore the skip first run variable on native installers and
expand the cache always in those cases.
This commit fixes adding the tools directory to the user's PATH for the native
installers.
The issue was a regression caused by #8886. The change used a "no-op" sentinel
file that reported it existed. This "no-op" sentinel was used for the native
installers. Unlike the other "no-op" sentinels used by the native installer,
we do want PATH to be modified by the native installer.
The fix is to change the "no-op" sentinel to report the file doesn't exist, but
also to not to attempt to create the file.
This fixes#9208.
On environments where registry access is disabled, the first run experience
fails because it could not add the tools path to the user's environment.
This fix properly handles the security exception by printing a warning and
continuing. Users will have to manually add the PATH environment variable to
their environments to prevent `dotnet tool install` from printing PATH
instructions.
A new file sentinel is added to track whether or not the PATH has been
modified. The first run experience also now correctly skips modifying the PATH
if `DOTNET_SKIP_FIRST_TIME_EXPERIENCE` is set.
Fixes#8874.
* Added support for generating the HTTPS development certificate on the
CLI first run experience.
* On first run, an HTTPS certificate will be set up on the current user
local store.
* The environment variable DOTNET_GENERATE_ASPNET_CERTIFICATE can be used
to turn the feature off.
* compose all the parts
* Fix on obtain and shim maker for better end to end experience
* Fix error when there is space in the middle of path of nuget config
* Fix path in profile.d is the tmp home path during install
* better handle of ~home
* remove profile.d file in uninstall script
* Fix test since it looks up current directory
* folder structure inside nupkg to tools/TFM/RID/mytool.dll
* Add check for config file existence
* Rename name space to Microsoft.DotNet.ShellShim
* Rename name space to Microsoft.DotNet.ToolPackage
* Tools shim maker and env path handling
Includes component:
* Given executable, create shim (all three OSs)
* Add executable path to Env PATH during first run
* including manual instruction when there is no access
If the LZMA archive is missing, the first-run message is printed every time.
This commit fixes that.
Split the first-run message into two pieces:
- The first-run (welcome and telemetry) message is printed only once, no matter
whether the cache was primed or not.
- The cache-priming message is printed only if the cache is avaialble.
Otherwise skip the cache introduction and the ccache priming operation.
This commit adds supports for getting more detailed help by using the
`dotnet help <verb>` syntax (e.g. `dotnet help build`). This change
opens up the URL that is specified for each verb in the default browser
on the user's machine, so internet access is required.
* Partial conversion to new3. 2 tests fail due to browserlink not restoring.
* new cache initialization
* More lzma changes, and removed a razor ref from templates
* Ephemeral hive flag added to tests that need it
* Updated the template engine version to build against. Minor code cleanup
* Config changes to make template versions separate from template engine versions
* Changed dotnet new versioning to use Product.Version
* Fixing Archiver.csproj
* Fixing dotnet new test.
* Fix LZMA Package Source Condition
* Workaround for newline differences.
* fixed tests with changed template parameters. Added a new3 template non-match test
* display CommandParsing gracefully
This set of changes handles CommandParsingException gracefuly (so as not to show the user a stack trace) and generalizes graceful exception display somewhat away from being type-specific.
* fix compile error by inlining constant
* remove unused test logging