└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Prepping a Windows 10 Machine to Run an Art Installation 24/7 2 | 3 | This document is inspired by Blair Neal's (@laserpilot) [*Installation up 4evr*](https://github.com/laserpilot/Installation_Up_4evr) guide. 4 | 5 | 1. Auto launch an application at system start up 6 | 2. Auto relaunch an application on crash 7 | 3. Configure Task Scheduler to reboot the machine daily 8 | 4. Set the time to the correct timezone for the installation location 9 | 5. Configure auto login 10 | 6. Disable screen lock and snooze 11 | 7. Disable automatic software updates 12 | 8. Disable notifications 13 | 9. Disable edge swipes (touchscreen only) 14 | 10. Install TeamViewer for remote monitoring and access 15 | 11. Protect your personal privacy 16 | 17 | Several of these actions require you to open the *Windows Settings* application. To do this, click the Windows icon on the bottom left of the screen, and then select *Settings* (the cog icon). 18 | 19 | ## 1. Auto launch an application at system start up 20 | 21 | This instruction, and number \#2, assume that you have an application you would like to automatically launch. For the purpose of this example, we will assume that application is named `installation.exe`. If you plan to configure the Windows machine to relaunch your application if it crashes, you can skip this step and go on to the next, as the method used to relaunch crashed applications can also be used to launch installations at startup. If you would like to explicitly configure Windows 10 to launch your application when the machine boots, continue. 22 | 23 | Open the *Task Scheduler* using the Cortana spotlight search. From there, select: 24 | 25 | *Task Scheduler > Create Basic Task* 26 | 27 | Enter a name and description, like "Launch installation.exe", "Launch installation.exe at startup". Here you are prompted to answer the question, "When do you want the task to start?". If the application is graphical, it is highly recommended that you select "When I log on" (make sure to also complete step \#5 to configure auto login). You may instead select "When the computer starts", however, it is likely that some services that your application may rely on will not yet be available at that time, so the former option is recommended. Click *Next* and select "Start a program" when prompted for what kind of action you want the task to perform. Click *Next* and then click *Browse* at the program/script input field. Select `installation.exe` in the file browser and click *Open*. Click *Next* and finish creating your scheduled task. 28 | 29 | ## 2. Auto relaunch an application on crash 30 | 31 | [RestartOnCrash](http://www.softpedia.com/get/System/File-Management/Restart-on-Crash.shtml) is a wonderful freeware utility program to manage the upkeep of Windows applications. It allows you to monitor applications and relaunch them if they crash or quit running. Download the program and run it. Select *Add* and click *Select a file*. Use the file browser to select `installation.exe`. On the same window, check "It isn't running" in the "Assume it has crashed or hanged when..." section. Click *OK* to finish. 32 | 33 | To open *Restart On Crash* at system boot, click the *Settings* menu item on the Restart on Crash window and check "Run RoC when Windows starts". If you configure Windows to auto login (instructions below), this should cause your application to launch on boot. I have, however noticed that enabling "Run RoC when Windows starts" doesn't always work. For a surefire approach to launch RoC on boot, create a task that runs on user login using the Task Scheduler, described in \#1. 34 | 35 | ## 3. Configure Task Scheduler to reboot the machine daily 36 | 37 | **Note**: This is not a necessary task, but can be helpful if you are worried about memory leaks or undefined behavior if your machine runs for long periods of time (days, months, years...) without rebooting. 38 | 39 | Open Notepad and save the following contents as a Batch file named `reboot.bat`. 40 | 41 | ``` 42 | shutdown.exe /r /t 00 /f 43 | ``` 44 | 45 | When run, this script will immediately force reboot the machine. Next, configure it to run once per day using "Task Scheduler". 46 | 47 | *Task Scheduler > Create Basic Task* 48 | 49 | Enter a name and description, like "Reboot", "Reboot the machine daily." Click *Next* and select *Daily*. Click *Next* and select the time you would like the machine to be rebooted. Click *Next* and select "Start a program" when prompted for what kind of action you want the task to perform. Click *Next* and then click *Browse* at the program/script input field. Select your `reboot.bat` script in the file browser and click *Open*. Click *Next* and finish creating your scheduled task. 50 | 51 | ## 4. Set the correct time 52 | 53 | *Windows Settings > Time & Language > Time zone* 54 | 55 | Change this value to the appropriate time zone. 56 | 57 | ## 5. Configure auto login 58 | 59 | Press the Windows key + r to open the *Run* program. Type "Netplwiz" and press *Enter*. Select the user you would like to auto login and then uncheck "Users must enter a user name and password to use this computer". Select *Apply* and enter your password (twice). Finally press *Ok*. 60 | 61 | For more detailed instructions, or if that didn't work, see [this tutorial](http://www.intowindows.com/how-to-automatically-login-in-windows-10/). 62 | 63 | ## 6. Disable screen lock and snooze 64 | 65 | *Windows Settings > System > Power & sleep* 66 | 67 | - When plugged in, turn off after: Never 68 | - When plugged in, PC goes to sleep after: Never 69 | 70 | **Note**: This assumes you are using a desktop computer. If you are using a laptop, there may be other power settings you need to change. 71 | 72 | ## 7. Disable automatic software updates 73 | 74 | **Note**: Disabling updates can make your computer vulnerable to malware and other security vulnerabilities, especially if it is connected to a network. Do so at your own risk. 75 | 76 | **Note**: Make sure Windows and all hardware drivers are up to date before following the steps below. 77 | 78 | In Windows 10, users have almost no control over updates. You can choose only how updates are installed, but you cannot turn off or disable Windows updates via the Control Panel or Settings apps. You can, however, disable the service that manages the checking and downloading of updates. 79 | 80 | Open the *Services* application (type "Services" into the Cortana search bar). Select the *Windows Update* service, right-click it, and select *properties*. Change *Startup type* to "Disabled". Click *Apply* and restart for the changes to take effect. 81 | 82 | In recent versions of Windows 10 Microsoft has also added a new watchdog serivce that ensures that Windows Update is enabled after a period of time even if an admin has disabled the serivce. You'll notice in the services window that this service is named "Windows Update Medic Service" and is located directly below the Windows Update service. This process has been protected so if you try to set this to disabled you'll get an 'access denied' notification. To get around this issue we'll use RegEdit to set the value of the Windows Update Medic Service to 'disabled' 83 | 84 | Warning!!! Improperly editing settings in RegEdit can corrupt your installation of Windows and cause data loss. Be careful entering values into RegEdit and do not edit the value of any registry if you don't know what you're doing. 85 | 86 | Open the "RegEdit" in the search bar (you must either be logged in as an admin or select 'open as administrator') 87 | 88 | Navigate to the following path HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc. 89 | 90 | Double click on the value named "Start" and set the value to 4 91 | 92 | Close RegEdit and repopen the Services app. You can now navigate to the Windows Update Medic Service and see that it has been disabled. 93 | 94 | For alternative methods of disabling Windows 10 updates, see [this tutorial](http://www.intowindows.com/how-to-disable-windows-update-in-windows-10/). 95 | 96 | ## 8. Disable notifications 97 | 98 | *Windows Settings > System > Notifications & actions* 99 | 100 | Turn off: 101 | - Get notifications from apps and other senders 102 | - Show me the Windows welcome experience after updates... 103 | - Get tips, tricks, and suggestions as you use Windows 104 | 105 | ## 9. Disable edge swipes (touchscreen only) 106 | 107 | Windows 10 supports a variety of touch swipe gestures by default. If your installation requires use of a touchscreen it is recommended to disable these features so that users can't accidentally exit your application. To disable edge swipes, open the *Registry Editor* by pressing the Windows key + r, type "regedit", and press *Enter*. 108 | 109 | Edit the registry key: 110 | 111 | ``` 112 | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\EdgeUI 113 | ``` 114 | 115 | If you don't have such a key, create it. Create a new value for this key named "AllowEdgeSwipe" with value data `0`. Reboot for the changes to take effect. 116 | 117 | For further instructions see [this tutorial](https://winaero.com/blog/how-to-disable-touchscreen-edge-swipes-in-windows-10/). 118 | 119 | ## 10. Install TeamViewer for remote monitoring and access 120 | 121 | Download and install TeamViewer for Windows. When setting up TeamViewer for the first time, select "Installation to access this computer remotely" when prompted with "How do you want to proceed." If you miss this, you can always grant remote access by selecting *Easy Access* on the main TeamViewer window. 122 | 123 | **Note**: Add the machine to your contacts list but **do not** stay signed in (otherwise anyone with access to the machine can login to all of your computers). 124 | 125 | ## 11. Protect your personal privacy 126 | 127 | ### Windows privacy settings 128 | 129 | *Windows Settings > Privacy > General* 130 | 131 | Turn off: 132 | 133 | - Let apps use advertising ID to make ads more interesting... 134 | - Let Windows track app launches to improve Start and search results 135 | 136 | *Windows Settings > Privacy > Location* 137 | 138 | Turn off location services. 139 | 140 | *Windows Settings > Privacy > Notifications* 141 | 142 | - Let apps access my notifications: Off 143 | 144 | *Windows Settings > Privacy > Speech, inking, & typing*. 145 | 146 | This is a Windows keylogger and handwriting recognition spyware. Turn that sh!t off... 147 | 148 | ### Browser Login Sessions and History 149 | 150 | The exact method for doing this depends on the browser, but usually there is a history tab in the nav bar. Be sure to delete all history from the beginning of time, including: 151 | 152 | - Browsing and download history 153 | - Forms and search history 154 | - Cookies 155 | - Cache 156 | - Active Logins 157 | --------------------------------------------------------------------------------