Coder Social home page Coder Social logo

windows-dev-box-setup-scripts's Introduction

About this project

The goal of this project is to provide a central place to share ideas for streamlining dev box setup and provide sample scripts for common dev scenarios. It's likely you will want to take the scripts here and modify them to fit your particular needs. When you make those changes if you think others would benefit please consider submitting a PR. Before you contribute please see the Contribution Guidelines.

These scripts leverage two popular open source projects.

Boxstarter is a wrapper for Chocolatey and includes features like managing reboots for you. We're using the Boxstarter web launcher to start the installation process:
https://boxstarter.org/Learn/WebLauncher

Project structure

The script code is organized in a hierarchy

Recipes A recipe is the script you run. It calls multiple helper scripts. These currently live in the root of the project (dev_app.ps1, dev_webnodejs.ps1, etc.)

Helper Scripts: A helper script performs setup routines that may be useful by many recipes. Recipes call helper scripts (you don't run helper scripts directly). The helper scripts live in the scripts folder

You may want to customize the scripts

These scripts should cover a lot of what you need but will not likely match your personal preferences exactly. In this case please fork the project and change the scripts however you desire. We really appreciate PR's back to this project if you have recommended changes.

Note: The one-click links use the following format. When working out of a different Fork or Branch you'll want to update the links as follows:

http://boxstarter.org/package/url?https://raw.githubusercontent.com/GITHUB_DOMAIN/windows-dev-box-setup-scripts/YOUR_BRANCH/RECIPE_NAME.ps1

For more info on testing your changes take a look at the contribution guidelines.

How to run the scripts

Before you begin, please read the Legal section.

To run a recipe script, click a link in the table below from your target machine. This will download the Boxstarter one-click application, and prompt you for Boxstarter to run with Administrator privileges (which it needs to do its job). Clicking yes in this dialog will cause the recipe to begin. You can then leave the job unattended and come back when it's finished.

Click link to run Description
Full Desktop App Windows Desktop App Development (Visual Studio, Windows SDK, C++, UWP, .NET (WPF and Winforms))
UWP Desktop App Windows Desktop App Development (Visual Studio, Windows SDK, UWP)
.NET Desktop App Windows Desktop App Development (Visual Studio, Windows SDK, .NET (WPF and Winforms))
C++ Desktop App Windows Desktop App Development (Visual Studio, Windows SDK, C++)
Web Web (VS Code, WSL, Multiple Browsers)
Web NodeJS Web Dev with NodeJS (Web + NodeJS LTS)¹
Machine Learning Windows Machine Learning with only Windows native tools
Machine Learning Linux Machine Learning with Linux tools running on WSL
DevOps Azure Client setup for DevOps with Azure
Xamarin (Visual Studio, Xamarin, Android SDK)
Containers (Docker, Kubernetes, etc...)
Submit a PR with a recommended configuration!

Notes:

  1. If you are using WSL there's a followup step we recommend after running the setup script. When the script finishes you will only have a root user with a blank password. You should manually create a non-root user via $ sudo adduser [USERNAME] sudo with a non-blank password. Use this user going forward. For more info on WSL please refer to the documentation.
  2. If you're a Node.js contributor working on Node.js core, please see the Node.js Bootstrapping Guide or click here to run.

Known issues

  • The Boxstarter ClickOnce installer does not work when using Chrome. This issue is being tracked here. Please use Edge to run the ClickOnce installer.
  • Reboot is not always logging you back in to resume the script. This is being tracked here. The workaround is to login manually and the script will continue running.
  • There have been reports of Windows 1803 not successfully launching Boxstarter via the web launcher. See this issue for details: chocolatey/boxstarter#301

Working with Chocolatey in an organization?

As an organization, you may not be keen to reach out to the internet. That's fine as with just a few modifications you can still take advantage of these scripts. Visit the organizational use page to learn how.

Working in education?

In a classroom setting it's a great idea to give your students a recipe script so they can all get setup quickly and reliably. You can modify your recipe script to include downloading course materials and sample projects. To do this, start by forking this project and follow the instructions here.

Don't have administrative access?

Are you in an environment where you don't have any administrative access on your machine? No problem, you can still take advantage of Chocolatey and manage "portable" software. You can also use a VM where you may have administrative access (see next section).

Unfortunately some of Boxstarter's functionality does require administrative privileges to run, and it will prompt to elevate to administrator if not already elevated.

So while you won't be able to use Boxstarter, take a look at Chocolatey's documentation on Non-Administrative Install. There you will find resources and an example PowerShell script that gives you a quick setup of Chocolatey and installation of a few packages. While not full on Boxstarter, you are still going to get a pretty rapid setup!

NOTE: It's important to point out the open source edition of the Chocolatey client will not allow you to magically install software that requires administrative access, so you will need to find packages that are portable or create those and push them to the community repository or your internal sources.

Setting up a VM

Windows 10 VM setup instructions

  1. Use Hyper-V's Quick Create to set up a VM
  2. Once signed in to your VM, visit this project in a web browser and click one of the script links in the Readme

Legal

Please read before using scripts.

Using our scripts downloads third party software

When you use our sample scripts, these will direct to Chocolately to install the packages. By using Chocolatey to install a package, you are accepting the license for the application, executable(s), or other artifacts delivered to your machine as a result of a Chocolatey install. This acceptance occurs whether you know the license terms or not. Read and understand the license terms of any package you plan to install prior to installation through Chocolatey. If you do not want to accept the license of a package you are installing, you need to uninstall the package and any artifacts that end up on your machine as a result of the install.

Our samples are provided AS-IS without any warranties of any kind

Chocolately has implemented security safeguards in their process to help protect the community from malicious or pirated software, but any use of our scripts is at your own risk. Please read the Chocolately's legal terms of use and the Boxstarter project license as well as how the community repository for Chocolatey.org is maintained.

Our project is subject to the MIT License and we make no warranties, express or implied of any kind. In no event is Microsoft or contributing copyright holders be liable for any claim, damages or other liability arising from out of or in connection with the use of the project software or the use of other dealings in the project software.

Contributing

Do you want to contribute? We would love your help. Here are our contribution guidelines.

windows-dev-box-setup-scripts's People

Contributors

bitcrazed avatar bmdixon avatar calmcl1 avatar craigloewen-msft avatar crutkas avatar ferventcoder avatar gep13 avatar joaocgreis avatar laurentkempe avatar mdsharpe avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar molant avatar msftgits avatar mwrock avatar pascalberger avatar tara-raj avatar vanbakhanh avatar yodurr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

windows-dev-box-setup-scripts's Issues

Drivers management part of the automation process

First of all, thanks a lot for this great automation tool. I used the "Web" default package and just had to relax and wait for the install.

However, as I have a new computer from work to act as a "Innovation sandbox" (read: out of domain and no corporate support), it triggered a doubt/need for enhancement:
Could this tool be used to manage also the drivers? I know there's business tools and/or prep tools that can be used.
But the learning curve compared to this tool/automation are simply too big.

The idea, would be to handle the "double" install we have with the drivers (1 package > uncompressed installation files > launches the actual setup) and following the model (which we can have as an input), would gather the drivers from a repo (usb key, shared drive, other?)

Hopefully this makes sense to someone else more than me.

Keep the excellent work!

Please don't force reinstall

When trying to combine scripts (for example: Machine Learning / Web), software gets forcefully reinstalled.
This seems like a waste of time and bandwith if the version is matching the one you currently have.

Is it possible to not do this or is there a specific reason why this is being done?

Make it possible to install apps from the Store

There should be a way to improve the scripts to make it possible to install apps directly from the Store. Example: when I repave my dev machines, i install some apps like "Open Live Writer", Paint.NET, Spotify, some Edge extensions e a few other Store apps I use regularly.

It looks like the current scripts already install some appx files that supposedly come from the store, but the process it uses to do so seems to be a hack. It downloads the appx from a minified shortened url and then sideloads it. As far as I could tell, there is no way to get a fixed url to the appx files I want from the Store and do the same, as the urls have information as version in them. I also don't know if installing an app this way has any side effects on how the app is updated from the Store from that point forward, if at all, since it was sideloaded.

The optimal option would be to call some official Windows API passing the Store ID for the app we want to install and let it do it's thing by installing from the Store instead of sideloading. If the user doesn't already "own" the app, it could ask to confirm the purchase (even if free) or have a flag to do it if necessary (similar to the "-y" in Chocolatey).

Document use of one click with Google Chome, etc (Application cannot be started. Contact the application vendor Error)

I was trying to use the Web (VS Code, WSL, Multiple Browsers), and I got this error:

PLATFORM VERSION INFO
	Windows 			: 10.0.17115.0 (Win32NT)
	Common Language Runtime 	: 4.0.30319.42000
	System.Deployment.dll 		: 4.7.3053.0 built by: NET472REL1
	clr.dll 			: 4.7.3053.0 built by: NET472REL1
	dfdll.dll 			: 4.7.3053.0 built by: NET472REL1
	dfshim.dll 			: 10.0.17115.1 (WinBuild.160101.0800)

SOURCES
	Deployment url			: file:///C:/Users/test01/Downloads/Boxstarter.WebLaunch.application

IDENTITIES
	Deployment Identity		: Boxstarter.WebLaunch.application, Version=2.9.27.0, Culture=neutral, PublicKeyToken=6b092740f7261cd0, processorArchitecture=msil

APPLICATION SUMMARY
	* Online only application.
	* Trust url parameter is set.
ERROR SUMMARY
	Below is a summary of the errors, details of these errors are listed later in the log.
	* Activation of C:\Users\test01\Downloads\Boxstarter.WebLaunch.application resulted in exception. Following failure messages were detected:
		+ Deployment and application do not have matching security zones.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
	No transaction error was detected.

WARNINGS
	There were no warnings during this operation.

OPERATION PROGRESS STATUS
	* [5/9/2018 7:42:20 AM] : Activation of C:\Users\test01\Downloads\Boxstarter.WebLaunch.application has started.
	* [5/9/2018 7:42:20 AM] : Processing of deployment manifest has successfully completed.
	* [5/9/2018 7:42:20 AM] : Installation of the application has started.

ERROR DETAILS
	Following errors were detected during this operation.
	* [5/9/2018 7:42:20 AM] System.Deployment.Application.InvalidDeploymentException (Zone)
		- Deployment and application do not have matching security zones.
		- Source: System.Deployment
		- Stack trace:
			at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath)
			at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
			at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
			at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl, Uri& deploymentUri)
			at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
--- End of stack trace from previous location where exception was thrown ---
			at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
			at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
			at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
	No transaction information is available.

this is my Windows 10 version

image

And this is my Hyper-V version

image

Any Ideas?

One click with Microsoft Edge Insider is not working.

Beside Google Chrome, one click installation can't be done on the latest Microsoft Edge Insider beta (based on chromium). This should be taken under consideration if it's going to replace current edge version.

Passing parameters to choco best practices

https://github.com/Microsoft/windows-dev-box-setup-scripts/blob/7393a07208fefc5f3d1f645764f42d7607ef8597/dev_web.ps1#L24

  • For short or blended options like -y as compared to --confirm (the long option), use one dash (-). For long options, use two dashes (-- as in --confirm). Blended options are short options combined into one statement, like -y -d -v put together as -ydv.
  • Always use -y to ensure nothing stops and prompts for more than 30 seconds.
  • When using options prefer a longer name (--name versus the short -n) to make the scripts more self-documenting. The exception here is -y.
  • When using options that have a value passed, add an = between and surround the value with "''" (--name="'value'"). This ensures that the argument is not split between different versions/editions of Chocolatey. This also ensures that values like . and \ are not escaped by PowerShell.

These suggestions may need to be validated to ensure that Boxstarter will work with them due to some of its overrides.

Add terminal applications (including OpenSSH, Win Terminal, Cmder, etc.) to Boxstarter

On versions that support it, we should include options to install Windows Terminal via both Store and Chocolatey (in scenarios where Store access is prohibited but choco installs are not) automatically from the Box Starter script. The Terminal should be available for all dev scripts as anybody doing any type of CLI will want to use it (even if they don't realize it at first). Additionally Win32-OpenSSH should be updated directly from github or from chocolately (currently chocolatey is a version behind). The reason behind this is simple: Releases on github are available sooner than installing via "optional features" on Windows 10 and also requires re-install in most cases during an OS upgrade when enabled via "optional features". This would also be available on all windows script so regardless of whether WSL is installed or not, the user can still use native SSH instead of Putty.

Build a script that can scan and recognise known software and features on existing machines.

It would be great if we can "reverse" our existing dev boxes into such scripts. It would tremendously speed up adoption of setup scripts. Every developer usually has his own setup already and task to writing your own script from scratch can be quite significant.
It looks reasonable to start with some revered script - searching over files and installed apps on existing machine and then generate corresponding choco statements for recognized packages or offer alternatives for known but not yet "chocolated" ones. Running this script allows developer to start from his set up and trim the things that are unnecessary.

Add script to automatically side-load distros for WSL

Aside from the user downloading the required tar.gz file and renaming to install.tar.gz (which could also be part of the automation process), there should be a way to automate the https://github.com/Microsoft/WSL-distrolauncher process so we can side-load distros not currently in the Store without going through the build process itself (a time-consuming effort). I would recommend pulling the Docker images if we do automate the download of distros. All of this would be commented out by default. Best place currently to place this is in the dev_app.ps1 script.

Deploy WSL with a regular user

It would be nice if, instead of

https://github.com/microsoft/windows-dev-box-setup-scripts/blob/d488050/README.md#how-to-run-the-scripts

If you are using WSL there's a followup step we recommend after running the setup script. When the script finishes you will only have a root user with a blank password. You should manually create a non-root user via $ sudo adduser [USERNAME] sudo with a non-blank password. Use this user going forward. For more info on WSL please refer to the documentation.

there was a way to auto-install with a regular user. I've opened an issue about this 'upstream': microsoft/WSL-DistroLauncher#90, but there's a workaround that maybe you could apply temporarily: microsoft/WSL#3369 (comment):

$username = "ubuntu"
$password = "ubuntu"

ubuntu1804 install --root

wsl -u root useradd -m "$username"
wsl -u root sh -c "echo "${username}:${password}`n" | chpasswd" # wrapped in sh -c to get the pipe to work
wsl -u root  chsh -s /bin/bash "$username"
wsl -u root usermod -aG adm,cdrom,sudo,dip,plugdev "$username"

$uid = (wsl -u root id -u $username)

$distro = (Get-ItemProperty -Path Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss -Name DefaultDistribution).DefaultDistribution
$cur_id = (Get-ItemProperty -Path Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss\$distro -Name DefaultUid).DefaultUid
Set-ItemProperty -Path Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss\$distro -Name DefaultUid -Value $uid

With this, you can just say

If you are using WSL take note that the login is "ubuntu:ubuntu".

Need legal terms of service, limited liability

We need to make it clear Microsoft does not own the actual Chocolatey packages. This project is use at your own risk - we can't guarantee the reliability/security/safety of using Boxstarter and Chocolatey.

That said, Chocolatey does a lot to protect users and should point the community to that info. Also Chocolatey offers an Enterprise product which we should refer interested people to.

Installation on infinite loop

Ran "Full Desktop App" script with auto login and it keeps rebooting while rerunning the script over and over again. Had to Ctrl-C to interrupt whilst knowing the installation is not complete.

Add common dev tools automatically upon install of WSL distro

Instead of having to manually download packages commonly used by developers every time you install/reinstall a distro for WSL (and thus being forced to create your own scripts), we should add this to the dev-box-setup experience. For instance for the web development we could use wsl.exe apt install build-essentials npm wsl.exe npm install node, etc. Noting of course wsl.exe will launch the default distro, which is the first one installed. Using wslconfig.exe should probably be included as a commented out portion to change the default distro if more than one is installed.

Improvement to dev_web and dev_web_nodejs

I'm going to work on improving the dev_web and dev_web_nodejs scripts. These are some of the ideas:

  • Use nvs, with LTE and Latest Node Versions installed
  • There is also an issue with the git VS Code wants to use not matching up with WSL git, so I’ve always bootstrapped this by using WSLGIT and pointing git in vscode towards that wslgit.exe
  • Maybe install yarn as well
  • Native WSL Deps Installed: (this would handle all of the native npm/node modules) that most people come across. (Zopfli, Reyon, neon-bindings etc.). build-essentials from apt-get
  • Install Microsoft Edge DevTools preview
  • Install webdriver. If it is an insiders this should be part of the "developer mode"
  • VS Code with the Debugger extensions (Chrome, Edge) #48

I'll keep this issue updated with the progress.

Hey the Ubuntu WSL link in the scripts is outdated.

Link is for 16.04 but not for 18.04 which from what I can tell is only available through third party links or the Windows Store.

I haven't tried this yet but I believe this powershell script should work.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Get-AppxPackage -name "*Ubuntu*18*" | Add-AppxPackage

first time trying to launch, you need to double launch

this may be a boxstarter issue but when launching the script and it isn't installed already, you have to actually relaunch after boxstarter has installed versus having it accept the data passed in and continue to execute

Unintended Uninstall of Windows Apps

I found this script and thought it would be the ideal way to set up my computer with Visual Studio to do some coding. It was not clear by running the full script a lot of Windows 10 apps would be uninstalled permanently (e.g Minecraft, Xbox app). Is there as simple script to reinstall these or a way to use this script to reinstall them?

dev_web_nodejs.ps1 stall at Installing visual studio workload

was running the dev_web_nodejs script and got a few red messages, but the problem really happens when installing Visual Studio workloads, here is the screenshot:

image

the script stall there like for more than an hour, any clue? and then got this:

image

here are the print screen of the other issues found, perhaps they are related:

image

image

image

can not install Windows Template Studio

Installing Windows Template Studio
ERROR: Cannot validate argument on parameter 'Uri'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
The install of tmp5dac.tmp was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\tmp5DAC.tmp\tools\ChocolateyInstall.ps1'.
 See log for details.

I read the WindowsTemplateStudio.ps1 script ,
at line 14
$wtsFileUrl = $wtsResults.versions[0].files | where {$_.assetType -eq "Microsoft.Templates.2017.vsix"};
,but there is no file named Microsoft.Templates.2017.vsix on the
website https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery.
please give a valid download address
thanks

Hyper V didnt get installed when running dev_web.ps1

boxstarter.log
Was running dev_web.ps1 script and didn't get Hyper V installed, here is what I found in the Boxstarter log;

Installing the following packages:
Microsoft-Hyper-V-All
By installing you accept licenses for the packages.
Microsoft-Hyper-V-All not installed. The package was not found with the source(s) listed.
 If you specified a particular version and are receiving this message, it is possible that the package name exists but the version does not.
 Version: ""
 Source(s): "C:\Users\ddieppa\AppData\Local\Apps\2.0\073JBC6P.X42\WGX1XDKD.9PO\boxs..tion_c786fcdd1652c60a_0002.000c_efda7cf3ed105942\BuildPackages;https://chocolatey.org/api/v2"

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - Microsoft-Hyper-V-All - Microsoft-Hyper-V-All not installed. The package was not found with the source(s) listed.
 If you specified a particular version and are receiving this message, it is possible that the package name exists but the version does not.
 Version: ""
 Source(s): "C:\Users\ddieppa\AppData\Local\Apps\2.0\073JBC6P.X42\WGX1XDKD.9PO\boxs..tion_c786fcdd1652c60a_0002.000c_efda7cf3ed105942\BuildPackages;https://chocolatey.org/api/v2"
Sending message 'PostRunMessage' out if there are subscribers...
[2018-11-20T08:39:36.2356583-05:00:::PID 6456] Boxstarter: restoring current directory location to C:\Windows\system32
VERBOSE: Boxstarter: restoring current directory location to C:\Windows\system32
[2018-11-20T08:39:36.2512840-05:00:::PID 6456] Boxstarter: Exit Code: 1
VERBOSE: Boxstarter: Exit Code: 1

Attached is the entire Boxstarter log file

Also noticed that after failing running the HyperV.ps1 script, apparently none of the following scripts run: Docker.ps1, WSL.ps1, Browsers.ps1.
Didn't get installed any browser or docker or WSL

Change to boxstarter.org infrastructure

I just wanted to give a heads up that we, @chocolatey, have just made some changes to the Boxstarter website, in terms of where it is hosted.

We have run some tests, and from what we can see, everything is working as it was previously, but if anyone here does notice any problems, please feel free to reach out so that we can address them.

@crutkas and @yodurr is there anyone else that we should ping about this change?

Including @pauby and @Windos for visibility.

Auto creation of 1-click links in Readme

The Readme should contain links to every script that you can click to trigger install.
Doing this requires a job that updates the links every time the hash for them changes - the link will include the link to the raw script content.

Could we use appveyor to update the script links in the readme after every commit?

Boxstarter error in Edge

Microsoft docs tell me I have to use Edge to have the installer work (see here: https://docs.microsoft.com/en-us/learn/modules/introduction-to-windows10-dev/2-installing-tools-automatically).

However, when trying to launch the Full App install, it fails.
Error Summary in log says:

ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of C:\Users\xxxx\Downloads\Boxstarter.WebLaunch.application resulted in exception. Following failure messages were detected:
+ Deployment and application do not have matching security zones.

Don't know what this actually means or how to resolve it. I'm not getting asked to elevate permissions etc. I am logged in with an admin account.

Move common script into base classes

Would be cool to have a dev.ps1 that provides common dev script commands, then the scenario specific scripts can just have the particular tool differences.

One of the challenges is including other ps1 scripts is hard when your starting point is clicking a web link that kicks off boxstarter. The ability to make install 1-click and not require cloning this repo seems more important than the ability to create base class scripts.

Include samples with the installed software

It would be lovely to have samples included (or have them in a separate script to install) for each of the different scripts.
This would open these scripts to not only experienced developers wanting to save time, but potentially also to unexperienced people wanting to try something out and needing that little bit of extra guidance.

ubuntu.font fails to install

ubuntu.font prints a warning about empty checksums and asks the user if it should ignore and continue installing, defaulting to no after 30 seconds and failing. But even if the user accepts and continues, the installation fails.

Do we really need this package? Can it be removed or should we find a solution?

ubuntu.font installation log
PS C:\WINDOWS\system32> choco install -y ubuntu.font
Chocolatey v0.10.10
Installing the following packages:
ubuntu.font
By installing you accept licenses for the packages.
Progress: Downloading ubuntu.font 0.80... 100%

ubuntu.font v0.80 - Possibly broken
ubuntu.font package files install completed. Performing other installation steps.
ubuntu.font
Downloading ubuntu.font
  from 'http://font.ubuntu.com/download/ubuntu-font-family-0.80.zip'
WARNING: C:\Users\Administrator\AppData\Local\Temp\chocolatey\chocolatey\ubuntu.font\ubuntu.font.zip is of content type text/html

Download of ubuntu.font.zip (-1 B) completed.
WARNING: Missing package checksums are not allowed (by default for HTTP/FTP,
 HTTPS when feature 'allowEmptyChecksumsSecure' is disabled) for
 safety and security reasons. Although we strongly advise against it,
 if you need this functionality, please set the feature
 'allowEmptyChecksums' ('choco feature enable -n
 allowEmptyChecksums')
 or pass in the option '--allow-empty-checksums'. You can also pass
 checksums at runtime (recommended). See choco install -? for details.
The integrity of the file 'ubuntu.font.zip' from 'http://font.ubuntu.com/download/ubuntu-font-family-0.80.zip' has not been verified by a checksum in the package scripts.
Do you wish to allow the install to continue (not recommended)?
[Y] Yes [N] No (default is "N")
  Confirmation (`-y`) is set.
  Respond within 30 seconds or the default selection will be chosen.
Y
C:\Users\Administrator\AppData\Local\Temp\chocolatey\chocolatey\ubuntu.font\ubuntu.font.zip
Extracting C:\Users\Administrator\AppData\Local\Temp\chocolatey\chocolatey\ubuntu.font\ubuntu.font.zip to C:\Users\Administrator\AppData\Local\Temp\chocolatey\chocolatey\ubuntu.font...
ERROR: C:\Users\Administrator\AppData\Local\Temp\chocolatey\chocolatey\ubuntu.font\ubuntu.font.zip
C:\Users\Administrator\AppData\Local\Temp\chocolatey\chocolatey\ubuntu.font\ubuntu.font.zip
Open ERROR: Can not open the file as [zip] archive
Microsoft.PowerShell.Commands.WriteErrorException
Microsoft.PowerShell.Commands.WriteErrorException
ERRORS:
Is not archive
WARNING: Write-ChocolateyFailure is deprecated and will be removed in v2. If you are the package maintainer, please use 'throw $_.Exception' instead.
ERROR: 7-Zip encountered a fatal error while extracting the files. This is most likely an issue with the 'ubuntu.font' package and not with Chocolatey itself. Please follow up with the package maintainer(s) directly.
The install of ubuntu.font was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\ubuntu.font\tools\chocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - ubuntu.font (exited 2) - Error while running 'C:\ProgramData\chocolatey\lib\ubuntu.font\tools\chocolateyInstall.ps1'.
 See log for details.

Enjoy using Chocolatey? Explore more amazing features to take your
experience to the next level at
 https://chocolatey.org/compare

easy.install has the same issue with empty checksums, but after accepting the installation succeeds if only Python 2 is installed.

cc @yodurr

adding parameters for choco packages causes error

The following commands cause errors due to being obsolete:

  • choco install -y git --package-parameters="'/GitAndUnixToolsOnPath /WindowsTerminal'"

  • choco install -y Microsoft-Hyper-V-All --source="'windowsFeatures'"

  • choco install -y visualstudio2017community --package-parameters="'--add Microsoft.VisualStudio.Component.Git'"

  • choco install -y Microsoft-Windows-Subsystem-Linux --source="'windowsfeatures'"

After checking chocolatey, I believe they changed how to reference params. Hence, I suggest updating those scripts and similar to the following

  • choco install -y git --params "/GitAndUnixToolsOnPath /WindowsTerminal"

  • choco install -y -source windowsfeatures Microsoft-Hyper-V-All

  • choco install -y visualstudio2017community --params="--add Microsoft.VisualStudio.Component.Git"

  • choco install -y -source windowsfeatures Microsoft-Windows-Subsystem-Linux

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.