├── assets
└── sandbox.png
├── Folding In Sandbox
├── Module
│ ├── FAHSandbox.psd1
│ ├── FAHSandbox.psm1
│ ├── Private
│ │ ├── CreateFAHConf.ps1
│ │ ├── VerifyBios.ps1
│ │ ├── VerifySandbox.ps1
│ │ ├── GetFAH.ps1
│ │ └── CreateLogonScript.ps1
│ └── Public
│ │ └── Start.ps1
├── README.md
└── install_folding_sandbox_on_host.ps1
├── .github
└── ISSUE_TEMPLATE
│ ├── documentation.yml
│ ├── feature_request.yml
│ └── report-a-bug.yml
├── CODE_OF_CONDUCT.md
├── OUTREACH.md
├── LICENSE
├── CONTRIBUTING.md
├── SECURITY.md
├── README.md
└── .gitignore
/assets/sandbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/Windows-Sandbox/HEAD/assets/sandbox.png
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/FAHSandbox.psd1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/Windows-Sandbox/HEAD/Folding In Sandbox/Module/FAHSandbox.psd1
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/documentation.yml:
--------------------------------------------------------------------------------
1 | name: "Documentation feedback or issue"
2 | description: Report any issues or share suggestions for improving our documentation
3 | labels:
4 | - Documentation
5 | body:
6 | - id: description
7 | type: textarea
8 | attributes:
9 | label: Provide a description of requested docs changes
10 | placeholder: Briefly describe which document needs to be corrected and why.
11 | validations:
12 | required: true
13 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Microsoft Open Source Code of Conduct
2 |
3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
4 |
5 | Resources:
6 |
7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns
10 |
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/FAHSandbox.psm1:
--------------------------------------------------------------------------------
1 | $Public = @( Get-ChildItem -Path $PSScriptRoot\Public\*.ps1 -ErrorAction SilentlyContinue )
2 | $Private = @( Get-ChildItem -Path $PSScriptRoot\Private\*.ps1 -ErrorAction SilentlyContinue )
3 |
4 | foreach($import in @($Public + $Private))
5 | {
6 | Try
7 | {
8 | . $import.fullname
9 | }
10 | Catch
11 | {
12 | Write-Error -Message "Failed to import function $($import.fullname): $_"
13 | }
14 | }
15 |
16 | Export-ModuleMember -Function $Public.Basename
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.yml:
--------------------------------------------------------------------------------
1 | name: "Suggest a new feature or improvement"
2 | description: Help us improve your Windows Sandbox experience!
3 | labels:
4 | - feature-request
5 | body:
6 | - id: description
7 | type: textarea
8 | attributes:
9 | label: Suggested new feature or improvement
10 | placeholder: Tell us about the new feature or improvement you'd like to see.
11 | validations:
12 | required: true
13 |
14 | - id: scenario
15 | type: textarea
16 | attributes:
17 | label: Scenario
18 | placeholder: How could this new feature be used? Feel free to provide examples.
19 | validations:
20 | required: true
21 |
22 | - id: supportinginfo
23 | type: textarea
24 | attributes:
25 | label: Additional details
26 | placeholder: Enter more info or links to give us more details.
27 | validations:
28 | required: false
29 |
30 | - type: markdown
31 | attributes:
32 | value: Please limit one request per issue.
33 |
--------------------------------------------------------------------------------
/OUTREACH.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Get involved with Windows Sandbox!
4 |
5 | At Windows Sandbox, we are passionate about outreach and inclusivity. Our feature is designed to be accessible and beneficial for everyone, regardless of your background or level of experience. We believe in supporting young people in tech through hands-on experiences and practical learning opportunities. To stay connected and take your skills to the next level, we invite you to sign up for future events and resources. Whether you're interested in resume reviews, career counselling, Windows Sandbox hackathons, or hands-on workshops, we would love to keep in touch with you.
6 |
7 | Sign up [here](https://forms.office.com/r/ZtTm37TL3b) to receive notifications about upcoming events and exclusive opportunities.
8 |
9 |
10 |
11 | > All data is stored in line with [Microsoft's Privacy Policy](https://privacy.microsoft.com/en-us/privacystatement).
12 |
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/Private/CreateFAHConf.ps1:
--------------------------------------------------------------------------------
1 | #Requires -RunAsAdministrator
2 | function CreateFAHConf
3 | {
4 | <#
5 | .SYNOPSIS
6 | Create the FAH configuration file
7 | .DESCRIPTION
8 | Creates the configuration file used to run FAH
9 | .EXAMPLE
10 | C:\> CreateFAHConf -team '251561';
11 | #>
12 | [cmdletbinding()]
13 | param(
14 | [Parameter(Mandatory=$true)][string]$username,
15 | [Parameter(Mandatory=$true)][string]$team
16 | )
17 | Write-Verbose 'Creating init command...';
18 | $working_dir = "$env:USERPROFILE\fah_conf";
19 | $conf_file = 'fah_sandbox_conf.xml';
20 | Write-Verbose "Saved Folding@Home configuration file to $working_dir\$conf_file";
21 | New-Item -Force -Path "$working_dir\$conf_file" -ItemType File | Out-Null;
22 | Set-Content -Path "$working_dir\$conf_file" -Value @"
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | "@;
34 | }
35 |
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/Private/VerifyBios.ps1:
--------------------------------------------------------------------------------
1 | #Requires -RunAsAdministrator
2 | function VerifyBios
3 | {
4 | <#
5 | .SYNOPSIS
6 | Check BIOS
7 | .DESCRIPTION
8 | This function is used to ensure that virtualization is enbaled in BIOS.
9 | .EXAMPLE
10 | C:\> VerifyBios;
11 | #>
12 | [cmdletbinding()]
13 | [OutputType([bool])]
14 | param ()
15 | # Ensure that virtualization is enbaled in BIOS.
16 | Write-Output 'Verifying that virtualization is enabled in BIOS...'
17 | if ((Get-CimInstance Win32_ComputerSystem).VirtualizationFirmwareEnabled -eq $false) {
18 | Write-Output 'ERROR: Please Enable Virtualization capabilities in your BIOS settings...'
19 | return $false
20 | }
21 |
22 | # Ensure that virtualization is enbaled in Windows 10.
23 | Write-Output 'Verifying that virtualization is enabled in Windows 10...'
24 | if ((Get-CimInstance Win32_ComputerSystem).HypervisorPresent -eq $false) {
25 | Write-Output 'ERROR: Please Enable Hyper-V in your Control Panel->Programs and Features->Turn Windows features on or off'
26 | return $false
27 | }
28 |
29 | return $true;
30 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) Microsoft Corporation.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE
22 |
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/Private/VerifySandbox.ps1:
--------------------------------------------------------------------------------
1 | #Requires -RunAsAdministrator
2 | function VerifySandbox
3 | {
4 | <#
5 | .SYNOPSIS
6 | Check Windows Feature is enabled
7 | .DESCRIPTION
8 | This function is used to ensure that Windows Sandbox has been enabled
9 | .EXAMPLE
10 | C:\> VerifySandbox;
11 | #>
12 | [cmdletbinding()]
13 | [OutputType([bool])]
14 | param ()
15 | Write-Verbose 'Checking to see if Windows Sandbox is installed...';
16 | try
17 | {
18 | If ((Get-WindowsOptionalFeature -FeatureName 'Containers-DisposableClientVM' -Online).State -ne 'Enabled')
19 | {
20 | Write-Verbose 'Windows Sandbox is not installed, attempting to install it (may require reboot)...';
21 | if ((Enable-WindowsOptionalFeature -FeatureName 'Containers-DisposableClientVM' -All -Online -NoRestart).RestartNeeded)
22 | {
23 | Write-Verbose 'Please reboot to finish installing Windows Sandbox, then re-run this script...'
24 | return $false;
25 | }
26 |
27 | return $true;
28 | }
29 | else
30 | {
31 | Write-Verbose 'Windows Sandbox already installed.';
32 | return $true;
33 | }
34 | }
35 | catch
36 | {
37 | Write-Error 'ERROR: Please Enable Virtualization capabilities in your BIOS settings ,then re-run this script...';
38 | return $false;
39 | }
40 | }
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/Private/GetFAH.ps1:
--------------------------------------------------------------------------------
1 | #Requires -RunAsAdministrator
2 | function GetFAH
3 | {
4 | <#
5 | .SYNOPSIS
6 | Download the latest version of FAH
7 | .DESCRIPTION
8 | Check if the installer is present, download otherwise
9 | .EXAMPLE
10 | C:\> GetFAH;
11 | #>
12 | Write-Verbose 'Checking for latest version of foldingathome...';
13 | $installer_url = 'https://download.foldingathome.org/releases/public/release/fah-installer/windows-10-32bit/';
14 |
15 | # Use regex to get the latest version from the FAH website.
16 | $version = ((Invoke-WebRequest -Uri $installer_url -UseBasicParsing).Links | Where-Object {$_.href -match '^v\d+([.]\d+)?'} | ForEach-Object {[float]($_.href -replace '[^.\d]', '')} | Measure-Object -Max).Maximum;
17 | $installer = "$($installer_url)v$($version)/latest.exe";
18 | $installer_size =(Invoke-WebRequest $installer -Method Head -UseBasicParsing).Headers.'Content-Length';
19 | Write-Verbose "Using FAH v$version.";
20 |
21 | # Check if the installer is present, download otherwise.
22 | $working_dir = "$env:USERPROFILE\fah_conf";
23 | $install_fname = 'folding_installer.exe';
24 | if (!(test-path "$working_dir\$install_fname") -or (Get-ChildItem "$working_dir\$install_fname").Length -ne $installer_size )
25 | {
26 | Remove-Item "$working_dir\$install_fname" -Force -ErrorAction SilentlyContinue;
27 | Write-Verbose "Downloading latest folding executable: $working_dir\$install_fname";
28 | Write-Verbose "Saving to $working_dir\$install_fname...";
29 | New-Item -ItemType Directory -Force -Path $working_dir | Out-Null;
30 | Invoke-WebRequest -Uri $installer -OutFile "$working_dir\$install_fname";
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/report-a-bug.yml:
--------------------------------------------------------------------------------
1 | name: "Report a bug"
2 | description: Report errors or unexpected behavior
3 | title: "[Bug]: "
4 | labels: [bug]
5 |
6 | body:
7 | - type: markdown
8 | attributes:
9 | value: |
10 | Please make sure to [search for existing issues](https://github.com/microsoft/Windows-Sandbox/issues) before filing a new one!
11 |
12 | - id: version
13 | type: input
14 | attributes:
15 | label: Windows Sandbox version
16 | placeholder:
17 | description:
18 | validations:
19 | required: false
20 |
21 | - id: windowsversion
22 | type: input
23 | attributes:
24 | label: Windows build number
25 | placeholder:
26 | description: |
27 | Please run `ver` or `[Environment]::OSVersion`.
28 | validations:
29 | required: false
30 |
31 | - id: othersoftware
32 | type: textarea
33 | attributes:
34 | label: Other software
35 | description: If you're reporting a bug about our interaction with other software, what software? What versions?
36 | placeholder:
37 | validations:
38 | required: false
39 |
40 | - id: repro
41 | type: textarea
42 | attributes:
43 | label: Steps to reproduce the bug
44 | placeholder: Enter detailed steps to tell us what you were doing when you encountered the bug.
45 | validations:
46 | required: true
47 |
48 | - id: expectedbehavior
49 | type: textarea
50 | attributes:
51 | label: Expected result
52 | description: If you want to include screenshots, paste them into the markdown editor below.
53 | placeholder: Tell us what you were expecting to happen.
54 | validations:
55 | required: false
56 |
57 | - id: actualbehavior
58 | type: textarea
59 | attributes:
60 | label: Actual result
61 | placeholder: Tell us what happened.
62 | validations:
63 | required: true
64 |
65 | - id: includedsysinfo
66 | type: textarea
67 | attributes:
68 | label: Included System Information
69 | validations:
70 | required: false
71 |
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/Public/Start.ps1:
--------------------------------------------------------------------------------
1 | #Requires -RunAsAdministrator
2 | function Start
3 | {
4 | <#
5 | .SYNOPSIS
6 | Entry point for the process
7 | .DESCRIPTION
8 | This function is used to create and start a Sandbox instance running
9 | Fold@Home.
10 | .PARAMETER username
11 | Optional username for the Fold@Home user.
12 | .EXAMPLE
13 | C:\> Create -username 'wsandbox_anon' -team '251561';
14 | #>
15 | [cmdletbinding()]
16 | param(
17 | [Parameter(Mandatory=$false)][string]$username='wsandbox_anon',
18 | [Parameter(Mandatory=$false)][string]$team='251561'
19 | )
20 | try
21 | {
22 | Write-Verbose 'Start process';
23 | $ProgressPreference = 'SilentlyContinue'; #Progress bar makes things way slower
24 | Write-Output 'Verify host system...';
25 | $bios = VerifyBios;
26 | if (-not $bios -or $bios -eq $false)
27 | {
28 | throw 'ERROR: Please Enable Virtualization capabilities in your BIOS settings...';
29 | }
30 |
31 | $sandbox = VerifySandbox;
32 | if (-not $sandbox -or $sandbox -eq $false)
33 | {
34 | throw 'Please reboot to finish installing Windows Sandbox, then re-run this script...';
35 | }
36 |
37 | Write-Output 'Setup configuration...';
38 | GetFAH;
39 | CreateFAHConf -username $username -team $team;
40 | CreateLogonScript;
41 | $config = "$env:USERPROFILE\fah_conf\fah_sandbox.wsb";
42 | Write-Verbose "Start-Process 'C:\WINDOWS\system32\WindowsSandbox.exe' -ArgumentList '$config';";
43 | $proc = Start-Process 'C:\WINDOWS\system32\WindowsSandbox.exe' -ArgumentList $config;
44 | do
45 | {
46 | start-sleep -Milliseconds 500;
47 | }
48 | until ($proc.HasExited);
49 | }
50 | catch
51 | {
52 | $ErrorMessage = $_.Exception.Message;
53 | Write-Error $ErrorMessage;
54 | }
55 | }
--------------------------------------------------------------------------------
/Folding In Sandbox/Module/Private/CreateLogonScript.ps1:
--------------------------------------------------------------------------------
1 | #Requires -RunAsAdministrator
2 | function CreateLogonScript
3 | {
4 | <#
5 | .SYNOPSIS
6 | Create the script that runs at logon
7 | .DESCRIPTION
8 | This script:
9 | 1. Starts the installer
10 | 2. Creates a volatile working directory
11 | 3. Copies the config into the working directory
12 | 4. Sets the firewall policies to let FAH run
13 | 5. Starts the FAH client
14 | .EXAMPLE
15 | C:\> CreateLogonScript;
16 | #>
17 | Write-Verbose 'Creating init command...'
18 | $working_dir = "$env:USERPROFILE\fah_conf";
19 | $conf_file = 'fah_sandbox_conf.xml';
20 | $install_fname = 'folding_installer.exe';
21 | $logon_cmd = "$working_dir\init.cmd"
22 | $wdg_install_dir = 'C:\users\wdagutilityaccount\desktop\fah_conf'
23 | $wdg_working_dir = 'C:\users\wdagutilityaccount\desktop\fah_working_dir'
24 | Write-Verbose "Saved logon script to $logon_cmd, this will be run upon starting Sandbox."
25 | New-Item -Force -Path $logon_cmd -ItemType File | Out-Null;
26 | Set-Content -Path $logon_cmd -Value @"
27 | start $wdg_install_dir\$install_fname /S
28 | goto WAITLOOP
29 | :WAITLOOP
30 | if exist "C:\Program Files (x86)\FAHClient\FAHClient.exe" goto INSTALLCOMPLETE
31 | ping -n 6 127.0.0.1 > nul
32 | goto WAITLOOP
33 | :INSTALLCOMPLETE
34 | mkdir $wdg_working_dir
35 | cd $wdg_working_dir
36 | echo \"Copying config file to $wdg_working_dir\"
37 | copy $wdg_install_dir\$conf_file $wdg_working_dir
38 | netsh advfirewall firewall Add rule name="FAHClient" program="C:\Program Files (x86)\FAHClient\FAHClient.exe" action=allow dir=out
39 | netsh advfirewall firewall Add rule name="FAHClient" program="C:\Program Files (x86)\FAHClient\FAHClient.exe" action=allow dir=in
40 | start C:\"Program Files (x86)"\FAHClient\FAHClient.exe --config $wdg_working_dir\$conf_file
41 | "@;
42 |
43 | # Create the Sandbox configuration file with the new working dir & LogonCommand.
44 | $sandbox_conf = "$working_dir\fah_sandbox.wsb";
45 | Write-Verbose "Creating sandbox configuration file to $sandbox_conf";
46 | New-Item -Force -Path $sandbox_conf -ItemType File | Out-Null;
47 | Set-Content -Path $sandbox_conf -Value @"
48 |
49 | Enable
50 |
51 |
52 | $working_dir
53 | true
54 |
55 |
56 |
57 | $wdg_install_dir\init.cmd
58 |
59 |
60 | "@;
61 | }
62 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Windows Sandbox Contributor's Guide
2 | Below is our guidance for how to report issues, propose new features, and submit community repositories built on top of Windows Sandbox.
3 |
4 | ## Reporting security issues
5 | Please do not report security vulnerabilities through public GitHub issues. Instead, please report them to the Microsoft Security Response Center (MSRC). See https://github.com/microsoft/devhome/blob/main/SECURITY.md for more information.
6 |
7 | ## Filing issues
8 |
9 | ### Search existing issues
10 | Before filing a new issue, search our MSDN documentation, existing open and closed issues first. It is likely someone else has found the problem you're seeing. If you see an issue that you are
11 | facing too but don't have additional context/info to add but like to indicate that you are affected by the issue, upvote the original issue by clicking its [+😊] button and hitting 👍 (+1) icon.
12 | This way we can measure how impactful an issue is.
13 |
14 | If no existing item describes your issue/feature, great - please file a new issue:
15 |
16 | ### What type of issue do I file?
17 | - Found issues in our repository or in Windows Sandbox? __File a bug__
18 | - Got a great idea for a new feature? __File a feature request__
19 | - Found issues in our documentation or have a question that you don't see answered in docs, blogs, etc.? __File a documentation issue__
20 | - Found an existing issue that describes yours? __Great - upvote and add additional commentary / info / repro-steps / etc.__
21 |
22 | In general, when you hit "New Issue", select the type of issue closest to what you want to report/ask/request.
23 |
24 | ### Complete the issue template
25 | Complete the information requested in the issue template, providing as much information as possible. The more information you provide, the more likely your issue/ask will be understood and implemented.
26 |
27 | A well written issue includes the following:
28 | - Issue title is descriptive and short
29 | - Windows version and build number. This can be gathered from the CMD prompt using the `cmd.exe --version` command.
30 | - Device information (including CPU type, memory, disk etc.)
31 | - Detailed repro steps. We LOVE detailed repro steps! What steps do we need to take to reproduce the issue? Assume we love to read repro steps. As much detail as you can stand is probably barely enough detail for us! We prefer error message text where possible or screenshots of errors if text cannot be captured.
32 | - Behavior you were expecting
33 |
34 | ### Closing issues
35 | Issues and discussions may be closed by the original poster at any time. We will close issues if:
36 | - The issue has been addressed
37 | - The issue is a duplicate of another issue
38 | - Discussions or questions that have ran their course
39 |
40 | ## Contributing to Windows Sandbox Community developed add-ons and tools
41 | If you have developed a tool that leverages Windows Sandbox, submit a PR for us to manually review.
42 |
43 |
44 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Security
4 |
5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
6 |
7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below.
8 |
9 | ## Reporting Security Issues
10 |
11 | **Please do not report security vulnerabilities through public GitHub issues.**
12 |
13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
14 |
15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
16 |
17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
18 |
19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20 |
21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22 | * Full paths of source file(s) related to the manifestation of the issue
23 | * The location of the affected source code (tag/branch/commit or direct URL)
24 | * Any special configuration required to reproduce the issue
25 | * Step-by-step instructions to reproduce the issue
26 | * Proof-of-concept or exploit code (if possible)
27 | * Impact of the issue, including how an attacker might exploit the issue
28 |
29 | This information will help us triage your report more quickly.
30 |
31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
32 |
33 | ## Preferred Languages
34 |
35 | We prefer all communications to be in English.
36 |
37 | ## Policy
38 |
39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
40 |
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Welcome to the Windows Sandbox repo!
4 |
5 | Windows Sandbox (WSB) provides a lightweight desktop environment to safely run applications in isolation. This feature provides a safe and secure space for testing and debugging apps, exploring unknown files, or experimenting with tools. Software installed inside the Windows Sandbox environment remains isolated from the host machine with hypervisor-based-virtualization.
6 |
7 | Windows Sandbox offers the following features:
8 | - Part of Windows: Everything required for this feature is included in the supported Windows SKUs like Pro, Enterprise and Education. There's no need to maintain a separate VM installation.
9 | - Disposable: Nothing persists on the device. Everything is discarded when the user closes the application.
10 | - Pristine: Every time Windows Sandbox runs, it's as clean as a brand-new installation of Windows.
11 | - Secure: Uses hardware-based virtualization for kernel isolation. It relies on the Microsoft hypervisor to run a separate kernel that isolates Windows Sandbox from the host.
12 | - Efficient: Takes a few seconds to launch, supports virtual GPU and has smart memory management that optimizes memory footprint.
13 |
14 | If you want to learn more about how Windows Sandbox, check out our [documentation](https://learn.microsoft.com/en-us/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview).
15 |
16 | ### What is this repo for?
17 |
18 | This repository is for:
19 | - Links to add-ons and tools that leverage Windows Sandbox developed by Microsoft team and our awesome developer community.
20 | - Reporting issues or suggesting new features found when using Windows Sandbox.
21 |
22 | Please read our [Contributor's Guide](https://github.com/microsoft/Windows-Sandbox/blob/master/CONTRIBUTING.md) for more information.
23 |
24 | ## Windows Sandbox Resources
25 |
26 |
27 | ### Community Windows Sandbox projects
28 |
29 | Here is a list of great repositories made by the community - feel free to browse through them and contribute where you can!
30 |
31 |
32 |
33 |
34 | |
35 | Name |
36 | Owner |
37 | Description |
38 |
39 |
40 |
41 |
42 | | GUI Tools |
43 | Run in Sandbox Context Menu |
44 | Damien Van Robaeys |
45 | Adds right-click context menus for running scripts, applications, and more in Windows Sandbox |
46 |
47 |
48 | | Utilities |
49 | PyWinSandbox |
50 | Yiftach Karkason |
51 | Python library to create and control Windows Sandboxes with RPyC & Simple CLI Utilities. |
52 |
53 |
54 |
55 |
56 |
57 | ## Code of conduct
58 |
59 | This project welcomes contributions and suggestions. Most contributions require you to agree to a
60 | Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
61 | the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
62 |
63 | When you submit a pull request, a CLA bot will automatically determine whether you need to provide
64 | a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
65 | provided by the bot. You will only need to do this once across all repos using our CLA.
66 |
67 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
68 | For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
69 | contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
70 |
71 | ## Trademarks
72 | This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark and Brand Guidelines]([url](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general)). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third-parties' policies.
73 |
74 |
--------------------------------------------------------------------------------
/Folding In Sandbox/README.md:
--------------------------------------------------------------------------------
1 | ---
2 | page_type: sample
3 | languages:
4 | - powershell
5 | products:
6 | - Windows Sandbox
7 | description: "Public repository for helpful Windows Sandbox scripts and utilites"
8 | ---
9 |
10 | # Folding In Sandbox
11 |
12 | Use Windows Sandbox to develop a Hyper-V isolated environment dedicated to the [Folding@Home](https://foldingathome.org/) client. Configure Windows Sandbox to automatically install the client and test a multitude of different Folding@Home features.
13 |
14 | Provided in this project is an install script you can run on your host computer that will:
15 |
16 | 1. Check Windows Sandbox is enabled on the host. If it is not, the script will enable it (restart required).
17 | - Note that Windows Sandbox is only supported on Windows 10 Pro or Enterprise Insider build 18362 or newer. More info available [here](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-sandbox/windows-sandbox-overview).
18 | 2. Download the latest Folding@Home installer for Windows.
19 | 3. Generate the Folding@Home configuration file. This contains some default configurations that allow Folding@Home in the sandbox to start immediately.
20 | 4. Create the init.cmd script to be run within the sandbox. This script runs the Folding@Home installer in silent mode and then starts Folding@Home in a temporary working directory.
21 | 4. Generate a Windows Sandbox [configuration file](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-sandbox/windows-sandbox-configure-using-wsb-file).
22 | - The folder containing the Folding@Home installer and configuration file is mapped as a read-only folder to the sandbox.
23 | - Sets init.cmd as the logon script to be run after initialization of the sandbox
24 | 5. Starts Windows Sandbox using the .wsb configuration file.
25 |
26 | **Note:** Due to increased interest from the community with the COVID-19 outbreak, the Folding@Home assignment servers are under a lot of pressure. It may take some time to receive a work unit so make sure to leave the client running while waiting for an assignment.
27 |
28 | ## Contents
29 |
30 | | File/folder | Description |
31 | |-------------------|--------------------------------------------|
32 | | `install_folding_sandbox_on_host.ps1` | All-in-one install & run script for Folding in Sandbox |
33 |
34 | ## Prerequisites
35 |
36 | The [install_folding_sandbox_on_host.ps1](install_folding_sandbox_on_host.ps1) script, and a host computer running Windows 10 Pro or Enterprise Insider build 18362 or newer should be all you need to get started. This script does require administrative permissions, purely so it can check for and enable Windows Sandbox automatically.
37 |
38 | ## Setup
39 |
40 | You must first ensure that virtualization is enabled on your machine:
41 | - If you are using a physical machine, ensure virtualization capabilities are enabled in the BIOS.
42 | - If you are using a virtual machine, enable nested virtualization with this PowerShell cmdlet:
43 |
44 | ```Set-VMProcessor -VMName -ExposeVirtualizationExtensions $true```
45 |
46 | The [install_folding_sandbox_on_host.ps1](install_folding_sandbox_on_host.ps1) script will enable Windows Sandbox for you, so the only thing you'll need to do from here is reboot when asked to.
47 |
48 | ## Running the sample
49 |
50 | To run the script, open command prompt or powershell as an administrator and enter the following:
51 |
52 | ```Powershell.exe -ExecutionPolicy Bypass -File .\install_folding_sandbox_on_host.ps1```
53 |
54 | If you want to pass in your username you can add the -username option:
55 |
56 | ```Powershell.exe -ExecutionPolicy Bypass -File .\install_folding_sandbox_on_host.ps1 -username ```
57 |
58 | And you're off! Feel free to submit work items or pull requests to this repository if you have any problems, ideas, or suggestions!
59 |
60 | ## Key concepts
61 |
62 | Finding the cure for a disease is a complex process formed through a series of large scientific efforts. Modern advancements in both medical and computational technologies have alleviated several burdens that slow down the process of understanding how a disease works. In most cases it boils down to understanding the structure and behavior of life's fundamental building block: proteins. The chemical composition and shape of a protein define its behavior, and interactions between proteins form the intricate systems that constitute a living organism.
63 |
64 | Modern technology has enabled us to rapidly characterize the chemical composition of proteins. This, however, only gives us half the picture in understanding how a protein function. Once a chain of amino acids develops, it does not form a protein until it collapses into its functional state. The transition into this state is called folding and is dependent on both the type and sequence of amino acids that make up the protein. The complexity of this crucial process poses a massive computational challenge that the world is just starting to solve.
65 |
66 | [Folding@Home](https://foldingathome.org/) is one of the largest efforts to solve the computational problem of protein folding. It utilizes a globally distributed network of computers - whether it be your own home computer or a server living in a data center. It can be installed by anyone anywhere and contributes to the greater cause of understanding how certain diseases work, and what we can do to minimize their impact. Right now, the group is [managing an effort](https://foldingathome.org/2020/03/15/coronavirus-what-were-doing-and-how-you-can-help-in-simple-terms/) to simulate the dynamics of COVID-19 proteins in the search for new therapeutic solutions. For more information, be sure to visit the [Folding@Home Knowledge Base](https://foldingathome.org/dig-deeper/).
67 |
--------------------------------------------------------------------------------
/Folding In Sandbox/install_folding_sandbox_on_host.ps1:
--------------------------------------------------------------------------------
1 | #Requires -RunAsAdministrator
2 |
3 | #For a custom username, add -username to the command execution
4 | param(
5 | [string]$username = 'wsandbox_anon',
6 | [string]$team = '251561'
7 | )
8 | $ProgressPreference = 'SilentlyContinue' #Progress bar makes things way slower
9 |
10 | # Ensure that virtualization is enbaled in BIOS.
11 | Write-Output 'Verifying that virtualization is enabled in BIOS...'
12 | if ((Get-CimInstance Win32_ComputerSystem).VirtualizationFirmwareEnabled -eq $false) {
13 | Write-Output 'ERROR: Please Enable Virtualization capabilities in your BIOS settings...'
14 | exit
15 | }
16 |
17 | # Ensure that virtualization is enbaled in Windows 10.
18 | Write-Output 'Verifying that virtualization is enabled in Windows 10...'
19 | if ((Get-CimInstance Win32_ComputerSystem).HypervisorPresent -eq $false) {
20 | Write-Output 'ERROR: Please Enable Hyper-V in your Control Panel->Programs and Features->Turn Windows features on or off'
21 | exit
22 | }
23 |
24 | # Determine if Windows Sandbox is enabled.
25 | try{
26 | Write-Output 'Checking to see if Windows Sandbox is installed...'
27 | If ((Get-WindowsOptionalFeature -FeatureName 'Containers-DisposableClientVM' -Online).State -ne 'Enabled') {
28 | Write-Output 'Windows Sandbox is not installed, attempting to install it (may require reboot)...'
29 | if ((Enable-WindowsOptionalFeature -FeatureName 'Containers-DisposableClientVM' -All -Online -NoRestart).RestartNeeded) {
30 | Write-Output 'Please reboot to finish installing Windows Sandbox, then re-run this script...'
31 | exit
32 | }
33 | } else {
34 | Write-Output 'Windows Sandbox already installed.'
35 | }
36 | }catch{
37 | Write-Output 'ERROR: Please Enable Virtualization capabilities in your BIOS settings ,then re-run this script...'
38 | exit
39 | }
40 |
41 | # Download the latest version of FAH.
42 | Write-Output 'Checking for latest version of foldingathome...'
43 | $installer_url = 'https://download.foldingathome.org/releases/public/release/fah-installer/windows-10-32bit/'
44 |
45 | # Use regex to get the latest version from the FAH website.
46 | $version = ((Invoke-WebRequest -Uri $installer_url -UseBasicParsing).Links | Where-Object {$_.href -match '^v\d+([.]\d+)?'} | ForEach-Object {($_.href -replace '[^.\d]', '')} | Measure-Object -Max).Maximum
47 | $installer = "$($installer_url)v$($version)/latest.exe"
48 | $installer_size =(Invoke-WebRequest $installer -Method Head -UseBasicParsing).Headers.'Content-Length'
49 | Write-Output "Using FAH v$version."
50 |
51 | # Check if the installer is present, download otherwise.
52 | $working_dir = "$env:USERPROFILE\fah_conf"
53 | $install_fname = 'folding_installer.exe'
54 | If (!(test-path "$working_dir\$install_fname") -or (Get-ChildItem "$working_dir\$install_fname").Length -ne $installer_size ) {
55 | Remove-Item "$working_dir\$install_fname" -Force -ErrorAction SilentlyContinue
56 | Write-Output "Downloading latest folding executable: $working_dir\$install_fname"
57 | Write-Output "Saving to $working_dir\$install_fname..."
58 | New-Item -ItemType Directory -Force -Path $working_dir | Out-Null
59 | Invoke-WebRequest -Uri $installer -OutFile "$working_dir\$install_fname"
60 | }
61 |
62 | # Create the FAH configuration file with the Windows Sandbox FAH team #251561.
63 | Write-Output 'Creating init command...'
64 | $conf_file = 'fah_sandbox_conf.xml'
65 | Write-Output "Saved Folding@Home configuration file to $working_dir\$conf_file"
66 | New-Item -Force -Path "$working_dir\$conf_file" -ItemType File
67 | Set-Content -Path "$working_dir\$conf_file" -Value @"
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 | "@
79 |
80 | <#
81 | Create the script that runs at logon. This script:
82 | 1. Starts the installer
83 | 2. Creates a volatile working directory
84 | 3. Copies the config into the working directory
85 | 4. Sets the firewall policies to let FAH run
86 | 5. Starts the FAH client
87 | #>
88 | Write-Output 'Creating init command...'
89 | $logon_cmd = "$working_dir\init.cmd"
90 | $wdg_install_dir = 'C:\users\wdagutilityaccount\desktop\fah_conf'
91 | $wdg_working_dir = 'C:\users\wdagutilityaccount\desktop\fah_working_dir'
92 | Write-Output "Saved logon script to $logon_cmd, this will be run upon starting Sandbox."
93 | New-Item -Force -Path $logon_cmd -ItemType File
94 | Set-Content -Path $logon_cmd -Value @"
95 | start $wdg_install_dir\$install_fname /S
96 | goto WAITLOOP
97 |
98 | :WAITLOOP
99 | if exist "C:\Program Files (x86)\FAHClient\FAHClient.exe" goto INSTALLCOMPLETE
100 | ping -n 6 127.0.0.1 > nul
101 | goto WAITLOOP
102 |
103 | :INSTALLCOMPLETE
104 | mkdir $wdg_working_dir
105 | cd $wdg_working_dir
106 | echo \"Copying config file to $wdg_working_dir\"
107 | copy $wdg_install_dir\$conf_file $wdg_working_dir
108 | netsh advfirewall firewall Add rule name="FAHClient" program="C:\Program Files (x86)\FAHClient\FAHClient.exe" action=allow dir=out
109 | netsh advfirewall firewall Add rule name="FAHClient" program="C:\Program Files (x86)\FAHClient\FAHClient.exe" action=allow dir=in
110 | start C:\"Program Files (x86)"\FAHClient\FAHClient.exe --config $wdg_working_dir\$conf_file
111 | "@
112 |
113 | # Create the Sandbox configuration file with the new working dir & LogonCommand.
114 | $sandbox_conf = "$working_dir\fah_sandbox.wsb"
115 | Write-Output "Creating sandbox configuration file to $sandbox_conf"
116 | New-Item -Force -Path $sandbox_conf -ItemType File
117 | Set-Content -Path $sandbox_conf -Value @"
118 |
119 | Enable
120 |
121 |
122 | $working_dir
123 | true
124 |
125 |
126 |
127 | $wdg_install_dir\init.cmd
128 |
129 |
130 | "@
131 |
132 | # For convenience, start the Sandbox.
133 | Write-Output 'Starting sandbox...'
134 | Start-Process 'C:\WINDOWS\system32\WindowsSandbox.exe' -ArgumentList $sandbox_conf
135 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Aa][Rr][Mm]/
27 | [Aa][Rr][Mm]64/
28 | bld/
29 | [Bb]in/
30 | [Oo]bj/
31 | [Ll]og/
32 | [Ll]ogs/
33 |
34 | # Visual Studio 2015/2017 cache/options directory
35 | .vs/
36 | # Uncomment if you have tasks that create the project's static files in wwwroot
37 | #wwwroot/
38 |
39 | # Visual Studio 2017 auto generated files
40 | Generated\ Files/
41 |
42 | # MSTest test Results
43 | [Tt]est[Rr]esult*/
44 | [Bb]uild[Ll]og.*
45 |
46 | # NUnit
47 | *.VisualState.xml
48 | TestResult.xml
49 | nunit-*.xml
50 |
51 | # Build Results of an ATL Project
52 | [Dd]ebugPS/
53 | [Rr]eleasePS/
54 | dlldata.c
55 |
56 | # Benchmark Results
57 | BenchmarkDotNet.Artifacts/
58 |
59 | # .NET Core
60 | project.lock.json
61 | project.fragment.lock.json
62 | artifacts/
63 |
64 | # StyleCop
65 | StyleCopReport.xml
66 |
67 | # Files built by Visual Studio
68 | *_i.c
69 | *_p.c
70 | *_h.h
71 | *.ilk
72 | *.meta
73 | *.obj
74 | *.iobj
75 | *.pch
76 | *.pdb
77 | *.ipdb
78 | *.pgc
79 | *.pgd
80 | *.rsp
81 | *.sbr
82 | *.tlb
83 | *.tli
84 | *.tlh
85 | *.tmp
86 | *.tmp_proj
87 | *_wpftmp.csproj
88 | *.log
89 | *.vspscc
90 | *.vssscc
91 | .builds
92 | *.pidb
93 | *.svclog
94 | *.scc
95 |
96 | # Chutzpah Test files
97 | _Chutzpah*
98 |
99 | # Visual C++ cache files
100 | ipch/
101 | *.aps
102 | *.ncb
103 | *.opendb
104 | *.opensdf
105 | *.sdf
106 | *.cachefile
107 | *.VC.db
108 | *.VC.VC.opendb
109 |
110 | # Visual Studio profiler
111 | *.psess
112 | *.vsp
113 | *.vspx
114 | *.sap
115 |
116 | # Visual Studio Trace Files
117 | *.e2e
118 |
119 | # TFS 2012 Local Workspace
120 | $tf/
121 |
122 | # Guidance Automation Toolkit
123 | *.gpState
124 |
125 | # ReSharper is a .NET coding add-in
126 | _ReSharper*/
127 | *.[Rr]e[Ss]harper
128 | *.DotSettings.user
129 |
130 | # TeamCity is a build add-in
131 | _TeamCity*
132 |
133 | # DotCover is a Code Coverage Tool
134 | *.dotCover
135 |
136 | # AxoCover is a Code Coverage Tool
137 | .axoCover/*
138 | !.axoCover/settings.json
139 |
140 | # Visual Studio code coverage results
141 | *.coverage
142 | *.coveragexml
143 |
144 | # NCrunch
145 | _NCrunch_*
146 | .*crunch*.local.xml
147 | nCrunchTemp_*
148 |
149 | # MightyMoose
150 | *.mm.*
151 | AutoTest.Net/
152 |
153 | # Web workbench (sass)
154 | .sass-cache/
155 |
156 | # Installshield output folder
157 | [Ee]xpress/
158 |
159 | # DocProject is a documentation generator add-in
160 | DocProject/buildhelp/
161 | DocProject/Help/*.HxT
162 | DocProject/Help/*.HxC
163 | DocProject/Help/*.hhc
164 | DocProject/Help/*.hhk
165 | DocProject/Help/*.hhp
166 | DocProject/Help/Html2
167 | DocProject/Help/html
168 |
169 | # Click-Once directory
170 | publish/
171 |
172 | # Publish Web Output
173 | *.[Pp]ublish.xml
174 | *.azurePubxml
175 | # Note: Comment the next line if you want to checkin your web deploy settings,
176 | # but database connection strings (with potential passwords) will be unencrypted
177 | *.pubxml
178 | *.publishproj
179 |
180 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
181 | # checkin your Azure Web App publish settings, but sensitive information contained
182 | # in these scripts will be unencrypted
183 | PublishScripts/
184 |
185 | # NuGet Packages
186 | *.nupkg
187 | # NuGet Symbol Packages
188 | *.snupkg
189 | # The packages folder can be ignored because of Package Restore
190 | **/[Pp]ackages/*
191 | # except build/, which is used as an MSBuild target.
192 | !**/[Pp]ackages/build/
193 | # Uncomment if necessary however generally it will be regenerated when needed
194 | #!**/[Pp]ackages/repositories.config
195 | # NuGet v3's project.json files produces more ignorable files
196 | *.nuget.props
197 | *.nuget.targets
198 |
199 | # Microsoft Azure Build Output
200 | csx/
201 | *.build.csdef
202 |
203 | # Microsoft Azure Emulator
204 | ecf/
205 | rcf/
206 |
207 | # Windows Store app package directories and files
208 | AppPackages/
209 | BundleArtifacts/
210 | Package.StoreAssociation.xml
211 | _pkginfo.txt
212 | *.appx
213 | *.appxbundle
214 | *.appxupload
215 |
216 | # Visual Studio cache files
217 | # files ending in .cache can be ignored
218 | *.[Cc]ache
219 | # but keep track of directories ending in .cache
220 | !?*.[Cc]ache/
221 |
222 | # Others
223 | ClientBin/
224 | ~$*
225 | *~
226 | *.dbmdl
227 | *.dbproj.schemaview
228 | *.jfm
229 | *.pfx
230 | *.publishsettings
231 | orleans.codegen.cs
232 |
233 | # Including strong name files can present a security risk
234 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
235 | #*.snk
236 |
237 | # Since there are multiple workflows, uncomment next line to ignore bower_components
238 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
239 | #bower_components/
240 |
241 | # RIA/Silverlight projects
242 | Generated_Code/
243 |
244 | # Backup & report files from converting an old project file
245 | # to a newer Visual Studio version. Backup files are not needed,
246 | # because we have git ;-)
247 | _UpgradeReport_Files/
248 | Backup*/
249 | UpgradeLog*.XML
250 | UpgradeLog*.htm
251 | ServiceFabricBackup/
252 | *.rptproj.bak
253 |
254 | # SQL Server files
255 | *.mdf
256 | *.ldf
257 | *.ndf
258 |
259 | # Business Intelligence projects
260 | *.rdl.data
261 | *.bim.layout
262 | *.bim_*.settings
263 | *.rptproj.rsuser
264 | *- [Bb]ackup.rdl
265 | *- [Bb]ackup ([0-9]).rdl
266 | *- [Bb]ackup ([0-9][0-9]).rdl
267 |
268 | # Microsoft Fakes
269 | FakesAssemblies/
270 |
271 | # GhostDoc plugin setting file
272 | *.GhostDoc.xml
273 |
274 | # Node.js Tools for Visual Studio
275 | .ntvs_analysis.dat
276 | node_modules/
277 |
278 | # Visual Studio 6 build log
279 | *.plg
280 |
281 | # Visual Studio 6 workspace options file
282 | *.opt
283 |
284 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
285 | *.vbw
286 |
287 | # Visual Studio LightSwitch build output
288 | **/*.HTMLClient/GeneratedArtifacts
289 | **/*.DesktopClient/GeneratedArtifacts
290 | **/*.DesktopClient/ModelManifest.xml
291 | **/*.Server/GeneratedArtifacts
292 | **/*.Server/ModelManifest.xml
293 | _Pvt_Extensions
294 |
295 | # Paket dependency manager
296 | .paket/paket.exe
297 | paket-files/
298 |
299 | # FAKE - F# Make
300 | .fake/
301 |
302 | # CodeRush personal settings
303 | .cr/personal
304 |
305 | # Python Tools for Visual Studio (PTVS)
306 | __pycache__/
307 | *.pyc
308 |
309 | # Cake - Uncomment if you are using it
310 | # tools/**
311 | # !tools/packages.config
312 |
313 | # Tabs Studio
314 | *.tss
315 |
316 | # Telerik's JustMock configuration file
317 | *.jmconfig
318 |
319 | # BizTalk build output
320 | *.btp.cs
321 | *.btm.cs
322 | *.odx.cs
323 | *.xsd.cs
324 |
325 | # OpenCover UI analysis results
326 | OpenCover/
327 |
328 | # Azure Stream Analytics local run output
329 | ASALocalRun/
330 |
331 | # MSBuild Binary and Structured Log
332 | *.binlog
333 |
334 | # NVidia Nsight GPU debugger configuration file
335 | *.nvuser
336 |
337 | # MFractors (Xamarin productivity tool) working folder
338 | .mfractor/
339 |
340 | # Local History for Visual Studio
341 | .localhistory/
342 |
343 | # BeatPulse healthcheck temp database
344 | healthchecksdb
345 |
346 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
347 | MigrationBackup/
348 |
349 | # Ionide (cross platform F# VS Code tools) working folder
350 | .ionide/
351 |
--------------------------------------------------------------------------------