├── .gitignore
├── README.md
├── answer_files
├── 81
│ └── Autounattend.xml
└── vs
│ └── AdminDeployment.xml
├── configs
├── ConEmu.reg
├── Sane.vssettings
└── vsActionManager.DotSettings
├── iso
├── HideMenu.vsix
└── SourceCodePro_FontsOnly-1.017.zip
├── net_dev.json
├── scripts
├── .gitignore
├── NoStupidHelp.bat
├── chef.bat
├── chocolatey.bat
├── chocopacks.bat
├── conemu.ps1
├── dis-updates.ps1
├── dpi.bat
├── fonts.ps1
├── git.ps1
├── hotfix-KB2842230.bat
├── openssh.ps1
├── oracle-cert.cer
├── puppet-enterprise.bat
├── puppet.bat
├── reboot.bat
├── unpinall.bat
├── vagrant-ssh.bat
├── vm-guest-tools.bat
├── vs2013.ps1
└── win-updates.ps1
└── vagrantfile-net_dev.template
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | /iso/*
3 | !/iso/README.md
4 | /output-vmware/
5 | /output-vmware-iso/
6 | /output-vmware-vmx/
7 | /output-virtualbox/
8 | /output-virtualbox-iso/
9 | /output-virtualbox-ovf/
10 | /*.box
11 | /packer_cache/
12 |
13 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #.NET Development Packer Templates
2 |
3 | ## What even is this?
4 |
5 | This is a set of packer scripts to build an OKish .NET development environment that can be used with Vagrant or other provisioners. It is full of my opinions on how to set up a machine, but is a reasonable starting point for customization if you don't like my choices. It will do (broadly speaking):
6 |
7 | - Install Windows
8 | - Install Visual Studio 2013
9 | - Install Resharper
10 | - Install the Hide Main Menu plugin for Visual Studio
11 | - Install Source Code Pro fonts
12 | - Import some sensible defaults into Visual Studio (based on the IntelliJ keybindings)
13 | - Install ConEmu
14 | - Install Git for Windows
15 | - Install a sensible theme for ConEmu (based on a chocolatey package whose name I forget)
16 | - Install all the Windows updates
17 | - Package this all up for Vagrant, with a template Vagrant file that enables the GUI, and registers Resharper when you do `vagrant up` based on a `.reg` export of the relevant part of the tree stored in the the `RESHARPER_LICENSE_REGKEY` environment variable, and configures git with your username and email address.
18 |
19 | It builds from ISOs and downloaded images rather than using package managers - this is because I keep them on an external hard disk for when I travel and only have crappy hotel or conference internet. See below for the required source files and where you can get them from.
20 |
21 | *You likely want to be using Vagrant 1.6 or higher - since this now supports Windows natively.*
22 |
23 | ## Acknowledgements
24 |
25 | Most of the Windows installation process and the packer template were borrowed from here: `https://github.com/joefitzgerald/packer-windows` - without the availability of this project I likely wouldn't have even embarked on this.
26 |
27 | ## Required ISOs and Sources
28 |
29 | - `en_windows_8_1_pro_vl_x64_dvd_2971948.iso` - MSDN
30 | - `en_visual_studio_premium_2013_x86_dvd_3175275.iso` - MSDN
31 | - `VS2013.1.iso` - `http://go.microsoft.com/fwlink/?LinkId=386593` (for once an MSFT link without a login wall)
32 | - `HideMenu.vsix` - Included in repository (it's tiny)
33 | - `ReSharperSetup.8.2.0.2160.msi` - `http://download.jetbrains.com/resharper/ReSharperSetup.8.2.0.2160.msi`
34 | - `SourceCodePro_FontsOnly-1.017.zip` - Included in repository (again, tiny)
35 | - `ConEmuSetup.140422.exe` - `http://www.fosshub.com/download/ConEmuSetup.140422.exe`
36 | - `Git-1.9.2-preview20140411.exe` - `https://github.com/msysgit/msysgit/releases/download/Git-1.9.2-preview20140411/Git-1.9.2-preview20140411.exe`
37 |
38 | ## Additional bits that work if they're configured
39 |
40 | - If `user.name` and `user.email` are set locally, they'll be provisioned on Windows as part of the Vagrant provisioning (not the packing, so they'll be per user).
41 |
42 | - If there is a `RESHARPER_LICENSE_REGKEY` environment variable set pointing to a registry export of the Resharper license key, it will be imported as part of Vagrant provisioning.
43 |
--------------------------------------------------------------------------------
/answer_files/81/Autounattend.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 1
11 | Primary
12 | 60000
13 |
14 |
15 |
16 |
17 | false
18 | NTFS
19 | C
20 | 1
21 | 1
22 |
23 |
24 |
25 | 0
26 | true
27 |
28 | OnError
29 |
30 |
31 | true
32 | Vagrant Administrator
33 | Vagrant Inc.
34 |
35 | XC9B7-NBPP2-83J2H-RHMBY-92BT4
36 | Never
37 |
38 |
39 |
40 |
41 |
42 | 0
43 | 1
44 |
45 | OnError
46 | false
47 |
48 |
49 | /IMAGE/NAME
50 | Windows 8.1 Pro
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | en-US
59 |
60 | en-US
61 | en-GB
62 | en-US
63 | en-US
64 | en-GB
65 |
66 |
67 |
68 |
69 | false
70 |
71 |
72 |
73 |
74 |
75 |
76 | vagrant
77 | true
78 |
79 |
80 |
81 |
82 | vagrant
83 | true
84 |
85 | Vagrant User
86 | vagrant
87 | administrators
88 | vagrant
89 |
90 |
91 |
92 |
93 | true
94 | true
95 | Home
96 | 1
97 |
98 |
99 |
100 | vagrant
101 | true
102 |
103 | vagrant
104 | true
105 |
106 |
107 |
108 | cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"
109 | Set Execution Policy 64 Bit
110 | 1
111 | true
112 |
113 |
114 | C:\Windows\SysWOW64\cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"
115 | Set Execution Policy 32 Bit
116 | 2
117 | true
118 |
119 |
120 | cmd.exe /c winrm quickconfig -q
121 | winrm quickconfig -q
122 | 3
123 | true
124 |
125 |
126 | cmd.exe /c winrm quickconfig -transport:http
127 | winrm quickconfig -transport:http
128 | 4
129 | true
130 |
131 |
132 | cmd.exe /c winrm set winrm/config @{MaxTimeoutms="1800000"}
133 | Win RM MaxTimoutms
134 | 5
135 | true
136 |
137 |
138 | cmd.exe /c winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
139 | Win RM MaxMemoryPerShellMB
140 | 6
141 | true
142 |
143 |
144 | cmd.exe /c winrm set winrm/config/service @{AllowUnencrypted="true"}
145 | Win RM AllowUnencrypted
146 | 7
147 | true
148 |
149 |
150 | cmd.exe /c winrm set winrm/config/service/auth @{Basic="true"}
151 | Win RM auth Basic
152 | 8
153 | true
154 |
155 |
156 | cmd.exe /c winrm set winrm/config/client/auth @{Basic="true"}
157 | Win RM client auth Basic
158 | 9
159 | true
160 |
161 |
162 | cmd.exe /c winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port="5985"}
163 | Win RM listener Address/Port
164 | 10
165 | true
166 |
167 |
168 | cmd.exe /c netsh advfirewall firewall set rule group="remote administration" new enable=yes
169 | Win RM adv firewall enable
170 | 11
171 | true
172 |
173 |
174 | cmd.exe /c netsh firewall add portopening TCP 5985 "Port 5985"
175 | Win RM port open
176 | 12
177 | true
178 |
179 |
180 | cmd.exe /c net stop winrm
181 | Stop Win RM Service
182 | 13
183 | true
184 |
185 |
186 | cmd.exe /c sc config winrm start= auto
187 | Win RM Autostart
188 | 14
189 | true
190 |
191 |
192 | cmd.exe /c net start winrm
193 | Start Win RM Service
194 | 15
195 | true
196 |
197 |
198 | %SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v HideFileExt /t REG_DWORD /d 0 /f
199 | 16
200 | Show file extensions in Explorer
201 |
202 |
203 | %SystemRoot%\System32\reg.exe ADD HKCU\Console /v QuickEdit /t REG_DWORD /d 1 /f
204 | 17
205 | Enable QuickEdit mode
206 |
207 |
208 | %SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v Start_ShowRun /t REG_DWORD /d 1 /f
209 | 18
210 | Show Run command in Start Menu
211 |
212 |
213 | %SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v StartMenuAdminTools /t REG_DWORD /d 1 /f
214 | 19
215 | Show Administrative Tools in Start Menu
216 |
217 |
218 | %SystemRoot%\System32\reg.exe ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\ /v HibernateFileSizePercent /t REG_DWORD /d 0 /f
219 | 20
220 | Zero Hibernation File
221 |
222 |
223 | %SystemRoot%\System32\reg.exe ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\ /v HibernateEnabled /t REG_DWORD /d 0 /f
224 | 21
225 | Disable Hibernation Mode
226 |
227 |
228 | cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\dis-updates.ps1
229 | Disable Windows Updates
230 | 98
231 | true
232 |
233 |
234 | cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\openssh.ps1
235 | Install OpenSSH
236 | 99
237 | true
238 |
239 |
240 | cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\win-updates.ps1
241 | Install Windows Updates
242 | 100
243 | true
244 |
245 |
246 | false
247 |
248 |
249 |
250 |
251 |
252 | false
253 |
254 |
255 | net-dev-vm
256 | GMT Standard Time
257 |
258 |
259 |
260 | true
261 |
262 |
263 |
264 |
265 |
--------------------------------------------------------------------------------
/answer_files/vs/AdminDeployment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/configs/ConEmu.reg:
--------------------------------------------------------------------------------
1 | Windows Registry Editor Version 5.00
2 |
3 | [HKEY_CURRENT_USER\Software\ConEmu]
4 | "ConEmuStartShortcut64Installed"=dword:00000001
5 | "UninstallShortcutInstalled"=dword:00000001
6 | "ConEmuDesktopShortcut64Installed"=dword:00000001
7 | "ConEmuDesktopShortcutFolder"=dword:00000001
8 |
9 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla]
10 | "ColorTable00"=dword:00423607
11 | "ColorTable01"=dword:002f32dc
12 | "ColorTable02"=dword:00009985
13 | "ColorTable03"=dword:000089b5
14 | "ColorTable04"=dword:00d28b26
15 | "ColorTable05"=dword:008236d3
16 | "ColorTable06"=dword:0098a12a
17 | "ColorTable07"=dword:00d5e8ee
18 | "ColorTable08"=dword:00362b00
19 | "ColorTable09"=dword:00164bcb
20 | "ColorTable10"=dword:00756e58
21 | "ColorTable11"=dword:00837b65
22 | "ColorTable12"=dword:00969483
23 | "ColorTable13"=dword:00c4716c
24 | "ColorTable14"=dword:00a1a193
25 | "ColorTable15"=dword:00e3f6fd
26 | "ColorTable16"=dword:00423607
27 | "ColorTable17"=dword:002f32dc
28 | "ColorTable18"=dword:00009985
29 | "ColorTable19"=dword:000089b5
30 | "ColorTable20"=dword:00d28b26
31 | "ColorTable21"=dword:008236d3
32 | "ColorTable22"=dword:0098a12a
33 | "ColorTable23"=dword:00d5e8ee
34 | "ColorTable24"=dword:00362b00
35 | "ColorTable25"=dword:00164bcb
36 | "ColorTable26"=dword:00756e58
37 | "ColorTable27"=dword:00837b65
38 | "ColorTable28"=dword:00969483
39 | "ColorTable29"=dword:00c4716c
40 | "ColorTable30"=dword:00a1a193
41 | "ColorTable31"=dword:00e3f6fd
42 | "ExtendColors"=hex:00
43 | "ExtendColorIdx"=hex:0e
44 | "OverrideExtendFonts"=hex:01
45 | "ExtendFonts"=hex:00
46 | "ExtendFontNormalIdx"=hex:01
47 | "ExtendFontBoldIdx"=hex:0c
48 | "ExtendFontItalicIdx"=hex:0d
49 | "OverrideCursor"=hex:01
50 | "CursorType"=hex:01
51 | "CursorColor"=hex:00
52 | "CursorBlink"=hex:01
53 | "CursorBlockInactive"=hex:01
54 | "TrueColorerSupport"=hex:01
55 | "FadeInactive"=hex:01
56 | "FadeInactiveLow"=hex:00
57 | "FadeInactiveHigh"=hex:d0
58 | "ConVisible"=hex:00
59 | "ConInMode"=dword:ffffffff
60 | "UseInjects"=hex:01
61 | "CmdLine"=""
62 | "Multi"=hex:01
63 | "Multi.Modifier"=dword:0000005b
64 | "Multi.NewConsole"=dword:00001154
65 | "Multi.Next"=dword:80808000
66 | "Multi.Recreate"=dword:00105bc0
67 | "Multi.Close"=dword:00001173
68 | "Multi.CmdKey"=dword:80808000
69 | "Multi.NewConfirm"=hex:01
70 | "Multi.Buffer"=hex:41
71 | "Multi.UseArrows"=hex:00
72 | "Multi.UseNumbers"=hex:00
73 | "Multi.UseWinTab"=hex:00
74 | "Multi.AutoCreate"=hex:00
75 | "Multi.LeaveOnClose"=hex:00
76 | "Multi.Iterate"=hex:01
77 | "MinimizeRestore"=dword:001011c0
78 | "KeyboardHooks"=hex:01
79 | "FontName"="Consolas"
80 | "FontName2"="Source Code Pro Semibold"
81 | "FontAutoSize"=hex:00
82 | "FontSize"=dword:0000001c
83 | "FontSizeX"=dword:00000000
84 | "FontSizeX2"=dword:00000000
85 | "FontSizeX3"=dword:00000000
86 | "FontCharSet"=hex:00
87 | "Anti-aliasing"=dword:00000004
88 | "FontBold"=hex:00
89 | "FontItalic"=hex:00
90 | "Monospace"=hex:02
91 | "BackGround Image show"=hex:00
92 | "BackGround Image"="c:\\back.bmp"
93 | "bgImageDarker"=hex:ff
94 | "bgImageColors"=dword:ffffffff
95 | "bgOperation"=hex:00
96 | "bgPluginAllowed"=hex:01
97 | "AlphaValue"=hex:ff
98 | "UserScreenTransparent"=hex:00
99 | "WindowMode"=dword:00000520
100 | "HideCaption"=hex:00
101 | "HideCaptionAlways"=hex:01
102 | "HideCaptionAlwaysFrame"=hex:00
103 | "HideCaptionAlwaysDelay"=dword:000007d0
104 | "HideCaptionAlwaysDisappear"=dword:000007d0
105 | "DownShowHiddenMessage"=hex:00
106 | "ConsoleFontName"="Lucida Console"
107 | "ConsoleFontWidth"=dword:00000003
108 | "ConsoleFontHeight"=dword:00000005
109 | "DefaultBufferHeight"=dword:00001388
110 | "AutoBufferHeight"=hex:01
111 | "CmdOutputCP"=dword:00000000
112 | "ConsoleTextSelection"=hex:01
113 | "CTS.SelectBlock"=hex:01
114 | "CTS.VkBlock"=hex:a4
115 | "CTS.VkBlockStart"=dword:00000000
116 | "CTS.SelectText"=hex:01
117 | "CTS.VkText"=hex:00
118 | "CTS.VkTextStart"=dword:00000000
119 | "CTS.ActMode"=hex:02
120 | "CTS.VkAct"=hex:00
121 | "CTS.RBtnAction"=hex:03
122 | "CTS.MBtnAction"=hex:00
123 | "CTS.ColorIndex"=hex:e0
124 | "FarGotoEditor"=hex:01
125 | "FarGotoEditorVk"=hex:a2
126 | "FixFarBorders"=hex:00
127 | "FixFarBordersRanges"="2013-25C4;"
128 | "ExtendUCharMap"=hex:01
129 | "EnhanceGraphics"=hex:01
130 | "EnhanceButtons"=hex:00
131 | "PartBrush75"=hex:c8
132 | "PartBrush50"=hex:96
133 | "PartBrush25"=hex:5a
134 | "PartBrushBlack"=hex:20
135 | "RightClick opens context menu"=hex:02
136 | "RightClickMacro2"=""
137 | "AltEnter"=hex:00
138 | "AltSpace"=hex:00
139 | "SendAltTab"=hex:00
140 | "SendAltEsc"=hex:00
141 | "SendAltPrintScrn"=hex:00
142 | "SendPrintScrn"=hex:00
143 | "SendCtrlEsc"=hex:00
144 | "SendAltF9"=hex:00
145 | "Min2Tray"=hex:00
146 | "AlwaysShowTrayIcon"=hex:00
147 | "SafeFarClose"=hex:01
148 | "SafeFarCloseMacro"=""
149 | "FARuseASCIIsort"=hex:00
150 | "ShellNoZoneCheck"=hex:00
151 | "FixAltOnAltTab"=hex:00
152 | "DisableMouse"=hex:00
153 | "RSelectionFix"=hex:01
154 | "MouseSkipActivation"=hex:01
155 | "MouseSkipMoving"=hex:01
156 | "FarHourglass"=hex:01
157 | "FarHourglassDelay"=dword:000001f4
158 | "Dnd"=hex:01
159 | "DndLKey"=hex:00
160 | "DndRKey"=hex:a2
161 | "DndDrop"=hex:01
162 | "DefCopy"=hex:01
163 | "DragOverlay"=hex:01
164 | "DragShowIcons"=hex:01
165 | "DebugSteps"=hex:01
166 | "DragPanel"=hex:02
167 | "DragPanelBothEdges"=hex:00
168 | "KeyBarRClick"=hex:01
169 | "Tabs"=hex:01
170 | "TabSelf"=hex:01
171 | "TabLazy"=hex:00
172 | "TabRecent"=hex:00
173 | "TabsOnTaskBar"=hex:00
174 | "TabCloseMacro"=""
175 | "TabFontFace"="Consolas"
176 | "TabFontCharSet"=dword:00000000
177 | "TabFontHeight"=dword:0000000e
178 | "SaveAllEditors"=""
179 | "TabFrame"=hex:01
180 | "TabMargins"=hex:00,00,00,00,19,00,00,00,00,00,00,00,00,00,00,00
181 | "ToolbarAddSpace"=dword:00000000
182 | "TabConsole"="%s"
183 | "TabEditor"="<%c.%i>{%s}"
184 | "TabEditorModified"="<%c.%i>[%s] *"
185 | "TabViewer"="<%c.%i>[%s]"
186 | "TabLenMax"=dword:00000014
187 | "AdminTitleSuffix"=" (Admin)"
188 | "AdminShowShield"=hex:01
189 | "HideInactiveConsoleTabs"=hex:00
190 | "ShowFarWindows"=hex:01
191 | "TryToCenter"=hex:00
192 | "ShowScrollbar"=hex:02
193 | "IconID"=dword:00000001
194 | "ConWnd Width"=dword:00000069
195 | "ConWnd Height"=dword:00000034
196 | "16bit Height"=dword:00000000
197 | "ConWnd X"=dword:00000000
198 | "ConWnd Y"=dword:fffffffd
199 | "Cascaded"=hex:01
200 | "AutoSaveSizePos"=hex:00
201 | "MainTimerElapse"=dword:0000000a
202 | "MainTimerInactiveElapse"=dword:000003e8
203 | "AffinityMask"=dword:00000000
204 | "SkipFocusEvents"=hex:00
205 | "MonitorConsoleLang"=hex:03
206 | "DesktopMode"=hex:00
207 | "AlwaysOnTop"=hex:00
208 | "SleepInBackground"=hex:00
209 | "DisableFarFlashing"=hex:00
210 | "DisableAllFlashing"=hex:00
211 | "PanView.BackColor"=dword:30ffffff
212 | "PanView.PFrame"=dword:00000001
213 | "PanView.PFrameColor"=dword:28808080
214 | "PanView.SFrame"=dword:00000001
215 | "PanView.SFrameColor"=dword:07c0c0c0
216 | "PanView.Thumbs.ImgSize"=dword:00000060
217 | "PanView.Thumbs.SpaceX1"=dword:00000001
218 | "PanView.Thumbs.SpaceY1"=dword:00000001
219 | "PanView.Thumbs.SpaceX2"=dword:00000005
220 | "PanView.Thumbs.SpaceY2"=dword:00000014
221 | "PanView.Thumbs.LabelSpacing"=dword:00000002
222 | "PanView.Thumbs.LabelPadding"=dword:00000000
223 | "PanView.Thumbs.FontName"="Tahoma"
224 | "PanView.Thumbs.FontHeight"=dword:0000000e
225 | "PanView.Tiles.ImgSize"=dword:00000030
226 | "PanView.Tiles.SpaceX1"=dword:00000004
227 | "PanView.Tiles.SpaceY1"=dword:00000004
228 | "PanView.Tiles.SpaceX2"=dword:000000ac
229 | "PanView.Tiles.SpaceY2"=dword:00000004
230 | "PanView.Tiles.LabelSpacing"=dword:00000004
231 | "PanView.Tiles.LabelPadding"=dword:00000001
232 | "PanView.Tiles.FontName"="Tahoma"
233 | "PanView.Tiles.FontHeight"=dword:0000000e
234 | "PanView.LoadPreviews"=hex:03
235 | "PanView.LoadFolders"=hex:01
236 | "PanView.LoadTimeout"=dword:0000000f
237 | "PanView.MaxZoom"=dword:00000258
238 | "PanView.UsePicView2"=hex:01
239 | "PanView.RestoreOnStartup"=hex:00
240 | "Update.VerLocation"=""
241 | "Update.CheckOnStartup"=hex:01
242 | "Update.CheckHourly"=hex:00
243 | "Update.ConfirmDownload"=hex:00
244 | "Update.UseBuilds"=hex:02
245 | "Update.UseProxy"=hex:00
246 | "Update.Proxy"=""
247 | "Update.ProxyUser"=""
248 | "Update.ProxyPassword"=""
249 | "Update.DownloadSetup"=hex:00
250 | "Update.ExeCmdLine"=""
251 | "Update.ArcCmdLine"=""
252 | "Update.DownloadPath"="%TEMP%\\ConEmu"
253 | "Update.LeavePackages"=hex:00
254 | "Update.PostUpdateCmd"="echo Last successful update>ConEmuUpdate.info && date /t>>ConEmuUpdate.info && time /t>>ConEmuUpdate.info"
255 | "TextColorIdx"=hex:10
256 | "BackColorIdx"=hex:10
257 | "PopTextColorIdx"=hex:10
258 | "PopBackColorIdx"=hex:10
259 | "CursorTypeActive"=dword:000232c2
260 | "CursorTypeInactive"=dword:00823283
261 | "ClipboardDetectLineEnd"=hex:01
262 | "ClipboardBashMargin"=hex:00
263 | "ClipboardTrimTrailing"=hex:02
264 | "ClipboardEOL"=hex:00
265 | "ClipboardArrowStart"=hex:01
266 | "ClipboardAllLines"=hex:01
267 | "ClipboardFirstLine"=hex:01
268 | "ClipboardClickPromptPosition"=hex:02
269 | "ClipboardDeleteLeftWord"=hex:02
270 | "SetDefaultTerminal"=hex:00
271 | "SetDefaultTerminalStartup"=hex:00
272 | "DefaultTerminalNoInjects"=hex:00
273 | "DefaultTerminalConfirm"=hex:01
274 | "DefaultTerminalApps"="explorer.exe"
275 | "ProcessAnsi"=hex:01
276 | "UseClink"=hex:01
277 | "StartType"=hex:02
278 | "StartTasksFile"=""
279 | "StartTasksName"="{Development}"
280 | "StartFarFolders"=hex:00
281 | "StartFarEditors"=hex:00
282 | "StoreTaskbarkTasks"=hex:01
283 | "StoreTaskbarCommands"=hex:00
284 | "SingleInstance"=hex:01
285 | "Multi.ShowButtons"=hex:01
286 | "Multi.NumberInCaption"=hex:00
287 | "Multi.CloseConfirm"=hex:00
288 | "Multi.CloseEditViewConfirm"=hex:00
289 | "Multi.HideOnClose"=hex:01
290 | "Multi.MinByEsc"=hex:02
291 | "MapShiftEscToEsc"=hex:01
292 | "Multi.SplitWidth"=hex:04
293 | "Multi.SplitHeight"=hex:04
294 | "AlphaValueSeparate"=hex:00
295 | "AlphaValueInactive"=hex:ff
296 | "ColorKeyTransparent"=hex:00
297 | "ColorKeyValue"=dword:00010101
298 | "UseCurrentSizePos"=hex:01
299 | "QuakeStyle"=hex:00
300 | "QuakeAnimation"=dword:0000012c
301 | "HideChildCaption"=hex:01
302 | "FocusInChildWindows"=hex:01
303 | "ComSpec.Type"=hex:00
304 | "ComSpec.Bits"=hex:00
305 | "ComSpec.UpdateEnv"=hex:00
306 | "ComSpec.EnvAddPath"=hex:01
307 | "ComSpec.UncPaths"=hex:00
308 | "ComSpec.Path"=""
309 | "CTS.AutoCopy"=hex:01
310 | "CTS.EndOnTyping"=hex:00
311 | "CTS.EndOnKeyPress"=hex:00
312 | "CTS.Freeze"=hex:00
313 | "ClipboardConfirmEnter"=hex:00
314 | "ClipboardConfirmLonger"=dword:00000000
315 | "FarGotoEditorOpt"=hex:01
316 | "FarGotoEditorPath"="far.exe /e%1:%2 \"%3\""
317 | "DropUseMenu"=hex:02
318 | "StatusBar.Show"=hex:01
319 | "StatusBar.Flags"=dword:00000000
320 | "StatusFontFace"="Source Code Pro Black"
321 | "StatusFontCharSet"=dword:00000000
322 | "StatusFontHeight"=dword:00000010
323 | "StatusBar.Color.Back"=dword:00a1a193
324 | "StatusBar.Color.Light"=dword:00303030
325 | "StatusBar.Color.Dark"=dword:00b0b0a4
326 | "StatusBar.Hide.VCon"=hex:00
327 | "StatusBar.Hide.CapsL"=hex:00
328 | "StatusBar.Hide.NumL"=hex:00
329 | "StatusBar.Hide.ScrL"=hex:00
330 | "StatusBar.Hide.Lang"=hex:01
331 | "StatusBar.Hide.WPos"=hex:01
332 | "StatusBar.Hide.WSize"=hex:01
333 | "StatusBar.Hide.WClient"=hex:01
334 | "StatusBar.Hide.WWork"=hex:01
335 | "StatusBar.Hide.Style"=hex:01
336 | "StatusBar.Hide.StyleEx"=hex:01
337 | "StatusBar.Hide.hFore"=hex:01
338 | "StatusBar.Hide.hFocus"=hex:01
339 | "StatusBar.Hide.ABuf"=hex:00
340 | "StatusBar.Hide.CPos"=hex:01
341 | "StatusBar.Hide.CSize"=hex:01
342 | "StatusBar.Hide.BSize"=hex:00
343 | "StatusBar.Hide.CurX"=hex:00
344 | "StatusBar.Hide.CurY"=hex:01
345 | "StatusBar.Hide.CurS"=hex:01
346 | "StatusBar.Hide.CurI"=hex:01
347 | "StatusBar.Hide.ConEmuPID"=hex:01
348 | "StatusBar.Hide.ConEmuHWND"=hex:01
349 | "StatusBar.Hide.ConEmuView"=hex:01
350 | "StatusBar.Hide.Srv"=hex:00
351 | "StatusBar.Hide.SrvHWND"=hex:01
352 | "StatusBar.Hide.Transparency"=hex:01
353 | "StatusBar.Hide.New"=hex:00
354 | "StatusBar.Hide.Sync"=hex:00
355 | "StatusBar.Hide.Proc"=hex:00
356 | "StatusBar.Hide.Title"=hex:01
357 | "StatusBar.Hide.Resize"=hex:00
358 | "TabsLocation"=hex:00
359 | "TabDblClick"=dword:00000001
360 | "TaskBarOverlay"=hex:01
361 | "TabSkipWords"="Administrator:|ÐдминиÑтратор:"
362 | "TabPanels"="<%c> %s"
363 | "CenterConsolePad"=dword:00000000
364 | "ScrollBarAppearDelay"=dword:00000064
365 | "ScrollBarDisappearDelay"=dword:000003e8
366 | "SnapToDesktopEdges"=hex:00
367 | "MinimizeOnLoseFocus"=hex:00
368 | "FindText"="full_name"
369 | "FindMatchCase"=hex:00
370 | "FindMatchWholeWords"=hex:00
371 | "FindTransparent"=hex:01
372 | "Multi.ArrowsModifier"=dword:0000005b
373 | "KeyMacroVersion"=hex:02
374 | "MinimizeRestore2"=dword:00000000
375 | "GlobalRestore"=dword:00000000
376 | "ForcedFullScreen"=dword:0000107a
377 | "SwitchGuiFocus"=dword:00000000
378 | "SetFocusGui"=dword:00000000
379 | "SetFocusChild"=dword:00000000
380 | "ChildSystemMenu"=dword:00000000
381 | "Multi.NewConsoleShift"=dword:0000114e
382 | "Multi.NewConsolePopup"=dword:80808000
383 | "Multi.NewWindow"=dword:0010114e
384 | "Multi.NewSplitV"=dword:0010114f
385 | "Multi.NewSplitH"=dword:00101145
386 | "Multi.NewAttach"=dword:80808000
387 | "Multi.NextShift"=dword:80808000
388 | "Multi.AltCon"=dword:00101141
389 | "Multi.Scroll"=dword:80808000
390 | "CloseTabKey"=dword:00001157
391 | "CloseGroupKey"=dword:00000000
392 | "TerminateProcessKey"=dword:80808000
393 | "DuplicateRootKey"=dword:00000000
394 | "CloseConEmuKey"=dword:00001273
395 | "Multi.Rename"=dword:00005d52
396 | "Multi.MoveLeft"=dword:00101121
397 | "Multi.MoveRight"=dword:00101122
398 | "Multi.ShowTabsList"=dword:00000000
399 | "Multi.ShowTabsList2"=dword:00005d7b
400 | "ClipboardVkAllLines"=dword:00001156
401 | "ClipboardVkFirstLine"=dword:80808000
402 | "DeleteWordToLeft"=dword:00001108
403 | "FindTextKey"=dword:00001146
404 | "ScreenshotKey"=dword:80808000
405 | "ScreenshotFullKey"=dword:80808000
406 | "ShowStatusBarKey"=dword:00005d53
407 | "ShowTabBarKey"=dword:00005d54
408 | "ShowCaptionKey"=dword:00005d43
409 | "AlwaysOnTopKey"=dword:00000000
410 | "Key.TabMenu"=dword:00101150
411 | "Key.TabMenu2"=dword:00001002
412 | "Key.TabPane1"=dword:00005d09
413 | "Key.TabPane2"=dword:00105d09
414 | "Key.Maximize"=dword:80808000
415 | "Key.FullScreen"=dword:8080807a
416 | "Key.SysMenu"=dword:00001220
417 | "Key.SysMenu2"=dword:00001102
418 | "Key.BufUp"=dword:00001126
419 | "Key.BufDn"=dword:00001128
420 | "Key.BufPgUp"=dword:00001121
421 | "Key.BufPgDn"=dword:00001122
422 | "Key.PicViewSlide"=dword:80808013
423 | "Key.PicViewSlower"=dword:808080bd
424 | "Key.PicViewFaster"=dword:808080bb
425 | "FontLargerKey"=dword:000011d0
426 | "FontSmallerKey"=dword:000011d1
427 | "PasteFileKey"=dword:00101146
428 | "PastePathKey"=dword:00101144
429 | "PasteCygwinKey"=dword:00005d2d
430 | "Key.JumpPrevMonitor"=dword:00105b25
431 | "Key.JumpNextMonitor"=dword:00105b27
432 | "KeyMacro01"=dword:00001231
433 | "KeyMacro01.Text"="Tab(7, 1)"
434 | "KeyMacro02"=dword:00001232
435 | "KeyMacro02.Text"="Tab(7, 2)"
436 | "KeyMacro03"=dword:00001233
437 | "KeyMacro03.Text"="Tab(7, 3)"
438 | "KeyMacro04"=dword:00001234
439 | "KeyMacro04.Text"="Tab(7, 4)"
440 | "KeyMacro05"=dword:00001235
441 | "KeyMacro05.Text"="Tab(7, 5)"
442 | "KeyMacro06"=dword:00001236
443 | "KeyMacro06.Text"="Tab(7, 6)"
444 | "KeyMacro07"=dword:00001237
445 | "KeyMacro07.Text"="Tab(7, 7)"
446 | "KeyMacro08"=dword:00001238
447 | "KeyMacro08.Text"="Tab(7, 8)"
448 | "KeyMacro09"=dword:00001239
449 | "KeyMacro09.Text"="Tab(7, 9)"
450 | "KeyMacro10"=dword:00000000
451 | "KeyMacro10.Text"=""
452 | "KeyMacro11"=dword:00000000
453 | "KeyMacro11.Text"=""
454 | "KeyMacro12"=dword:00000000
455 | "KeyMacro12.Text"=""
456 | "KeyMacro13"=dword:00000000
457 | "KeyMacro13.Text"=""
458 | "KeyMacro14"=dword:00000000
459 | "KeyMacro14.Text"=""
460 | "KeyMacro15"=dword:00000000
461 | "KeyMacro15.Text"=""
462 | "KeyMacro16"=dword:00000000
463 | "KeyMacro16.Text"=""
464 | "KeyMacro17"=dword:00000000
465 | "KeyMacro17.Text"=""
466 | "KeyMacro18"=dword:00000000
467 | "KeyMacro18.Text"=""
468 | "KeyMacro19"=dword:00000000
469 | "KeyMacro19.Text"=""
470 | "KeyMacro20"=dword:00000000
471 | "KeyMacro20.Text"=""
472 | "KeyMacro21"=dword:00000000
473 | "KeyMacro21.Text"=""
474 | "KeyMacro22"=dword:00000000
475 | "KeyMacro22.Text"=""
476 | "KeyMacro23"=dword:00000000
477 | "KeyMacro23.Text"=""
478 | "KeyMacro24"=dword:00000000
479 | "KeyMacro24.Text"=""
480 | "KeyMacro25"=dword:00000000
481 | "KeyMacro25.Text"=""
482 | "KeyMacro26"=dword:00000000
483 | "KeyMacro26.Text"=""
484 | "KeyMacro27"=dword:00000000
485 | "KeyMacro27.Text"=""
486 | "KeyMacro28"=dword:00000000
487 | "KeyMacro28.Text"=""
488 | "KeyMacro29"=dword:00000000
489 | "KeyMacro29.Text"=""
490 | "KeyMacro30"=dword:00000000
491 | "KeyMacro30.Text"=""
492 | "KeyMacro31"=dword:00000000
493 | "KeyMacro31.Text"=""
494 | "KeyMacro32"=dword:00000000
495 | "KeyMacro32.Text"=""
496 | "CTS.VkPrompt"=hex:a0
497 | "WndDragKey"=dword:00121101
498 | "ComSpec.EnvAddExePath"=hex:01
499 | "ShowHelpTooltips"=hex:01
500 | "IntegralSize"=hex:00
501 | "CTS.VkCopyAll"=dword:00000000
502 | "Key.TileToLeft"=dword:00005b25
503 | "Key.TileToRIght"=dword:00005b27
504 | "SetDefaultTerminalStartupTSA"=hex:01
505 | "DefaultTerminalNewWindow"=hex:00
506 | "ProcessNewConArg"=hex:01
507 | "ConsoleExceptionHandler"=hex:00
508 | "SaveCmdHistory"=hex:01
509 | "CTS.Intelligent"=hex:01
510 | "CTS.IntelligentExceptions"="far|vim.exe"
511 | "CTS.IBeam"=hex:01
512 | "CTS.HtmlFormat"=hex:00
513 | "HighlightMouseRow"=hex:00
514 | "HighlightMouseCol"=hex:00
515 | "StatusBar.Hide.Time"=hex:01
516 | "TabIcons"=hex:01
517 | "OneTabPerGroup"=hex:00
518 | "ActivateSplitMouseOver"=hex:02
519 | "TabBtnDblClick"=dword:00000000
520 | "TaskbarProgress"=hex:01
521 | "RetardInactivePanes"=hex:00
522 | "Multi.SplitSizeVU"=dword:00105d26
523 | "Multi.SplitSizeVD"=dword:00105d28
524 | "Multi.SplitSizeHL"=dword:00105d25
525 | "Multi.SplitSizeHR"=dword:00105d27
526 | "Multi.SplitFocusU"=dword:00005d26
527 | "Multi.SplitFocusD"=dword:00005d28
528 | "Multi.SplitFocusL"=dword:00005d25
529 | "Multi.SplitFocusR"=dword:00005d27
530 | "Multi.NewConsolePopup2"=dword:00000000
531 | "CloseGroupPrcKey"=dword:00000000
532 | "CloseAllConKey"=dword:00000000
533 | "CloseExceptConKey"=dword:00000000
534 | "CTS.VkCopyFmt0"=dword:00001143
535 | "CTS.VkCopyFmt1"=dword:00101143
536 | "CTS.VkCopyFmt2"=dword:00000000
537 | "HighlightMouseSwitch"=dword:00005d4c
538 | "TransparencyInc"=dword:00000000
539 | "TransparencyDec"=dword:00000000
540 | "Key.MaximizeWidth"=dword:00000000
541 | "Key.MaximizeHeight"=dword:00000000
542 |
543 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Apps]
544 | "Count"=dword:00000000
545 |
546 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Colors]
547 | "Count"=dword:00000000
548 |
549 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Tasks]
550 | "Count"=dword:00000004
551 |
552 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Tasks\Task1]
553 | "Name"="{Development}"
554 | "GuiArgs"="/single /Dir %userprofile%"
555 | "Active"=dword:00000001
556 | "Count"=dword:00000003
557 | "Cmd1"=">*\"%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" \"-cur_console:a:t:PS\""
558 | "Cmd2"="\"%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -cur_console:t:PS"
559 | "Cmd3"="%systemroot%\\SysWOW64\\cmd.exe /c \"\"%ProgramFiles(x86)%\\Git\\bin\\sh.exe\" --login -i\" \"-cur_console:t:Git Bash\""
560 | "Cmd4"="powershell "
561 | "Cmd5"="* %SystemRoot%\\\\system32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe"
562 | "Hotkey"=dword:00000000
563 |
564 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Tasks\Task2]
565 | "Name"="{Powershell Admin}"
566 | "GuiArgs"="/single /Dir %userprofile%"
567 | "Cmd1"="*\"%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -cur_console:a:t:PS"
568 | "Active"=dword:00000000
569 | "Count"=dword:00000001
570 | "Hotkey"=dword:00000000
571 |
572 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Tasks\Task3]
573 | "Name"="{Powershell Non-Admin}"
574 | "GuiArgs"="/single /Dir %userprofile%"
575 | "Cmd1"="\"%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -cur_console:t:PS"
576 | "Active"=dword:00000000
577 | "Count"=dword:00000001
578 | "Hotkey"=dword:00000000
579 |
580 | [HKEY_CURRENT_USER\Software\ConEmu\.Vanilla\Tasks\Task4]
581 | "Name"="{Git Bash}"
582 | "GuiArgs"="/single /Dir %userprofile% /icon \"%ProgramFiles(x86)%\\Git\\etc\\git.ico\""
583 | "Cmd1"="%systemroot%\\SysWOW64\\cmd.exe /c \"\"%ProgramFiles(x86)%\\Git\\bin\\sh.exe\" --login -i\" \"-cur_console:t:Git Bash\" "
584 | "Active"=dword:00000000
585 | "Count"=dword:00000001
586 | "Hotkey"=dword:00000000
587 |
588 | [HKEY_CURRENT_USER\Software\ConEmu\shell]
589 | "CmdLineHistory"=hex(7):00,00
590 |
591 |
--------------------------------------------------------------------------------
/configs/vsActionManager.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | None
3 |
--------------------------------------------------------------------------------
/iso/HideMenu.vsix:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jen20/packer-windows-netdev/92f92aeed2856bf7c5af68e7059f92abc5cf7972/iso/HideMenu.vsix
--------------------------------------------------------------------------------
/iso/SourceCodePro_FontsOnly-1.017.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jen20/packer-windows-netdev/92f92aeed2856bf7c5af68e7059f92abc5cf7972/iso/SourceCodePro_FontsOnly-1.017.zip
--------------------------------------------------------------------------------
/net_dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "builders": [
3 | {
4 | "type": "vmware-iso",
5 | "iso_url": "./iso/en_windows_8_1_pro_vl_x64_dvd_2971948.iso",
6 | "iso_checksum_type": "md5",
7 | "iso_checksum": "f9ac831f06a760c722df0df34f1b9397",
8 | "headless": false,
9 | "boot_wait": "2m",
10 | "ssh_username": "vagrant",
11 | "ssh_password": "vagrant",
12 | "ssh_wait_timeout": "2h",
13 | "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"",
14 | "guest_os_type": "windows8srv-64",
15 | "tools_upload_flavor": "windows",
16 | "disk_size": 61440,
17 | "vnc_port_min": 5900,
18 | "vnc_port_max": 5980,
19 | "floppy_files": [
20 | "./answer_files/81/Autounattend.xml",
21 | "./scripts/win-updates.ps1",
22 | "./scripts/openssh.ps1",
23 | "./answer_files/vs/AdminDeployment.xml"
24 | ],
25 | "vmx_data": {
26 | "RemoteDisplay.vnc.enabled": "false",
27 | "RemoteDisplay.vnc.port": "5900",
28 | "memsize": "2048",
29 | "numvcpus": "2",
30 | "scsi0.virtualDev": "lsisas1068",
31 | "virtualhw.version": "10",
32 | "gui.fullScreenAtPowerOn": "TRUE",
33 | "gui.viewModeAtPowerOn": "fullscreen",
34 | "gui.lastPoweredViewMode": "fullscreen",
35 | "gui.fitGuestUsingNativeDisplayResolution": "TRUE",
36 | "gui.applyHostDisplayScalingToGuest": "FALSE"
37 | }
38 | }
39 | ],
40 | "provisioners": [
41 | {
42 | "type": "shell",
43 | "remote_path": "/tmp/script.bat",
44 | "execute_command": "{{.Vars}} cmd /c C:/Windows/Temp/script.bat",
45 | "scripts": [
46 | "./scripts/vm-guest-tools.bat",
47 | "./scripts/vagrant-ssh.bat",
48 | "./scripts/dpi.bat",
49 | "./scripts/unpinall.bat",
50 | "./scripts/NoStupidHelp.bat"
51 | ]
52 | },
53 | {
54 | "type": "file",
55 | "source": "iso/en_visual_studio_premium_2013_x86_dvd_3175275.iso",
56 | "destination": "en_visual_studio_premium_2013_x86_dvd_3175275.iso"
57 | },
58 | {
59 | "type": "file",
60 | "source": "iso/VS2013.1.iso",
61 | "destination": "VS2013.1.iso"
62 | },
63 | {
64 | "type": "file",
65 | "source": "iso/ReSharperSetup.8.2.0.2160.msi",
66 | "destination": "ReSharperSetup.8.2.0.2160.msi"
67 | },
68 | {
69 | "type": "file",
70 | "source": "./iso/HideMenu.vsix",
71 | "destination": "HideMenu.vsix"
72 | },
73 | {
74 | "type": "file",
75 | "source": "./iso/SourceCodePro_FontsOnly-1.017.zip",
76 | "destination": "SourceCodePro_FontsOnly-1.017.zip"
77 | },
78 | {
79 | "type": "file",
80 | "source": "./iso/Git-1.9.2-preview20140411.exe",
81 | "destination": "Git-1.9.2-preview20140411.exe"
82 | },
83 | {
84 | "type": "file",
85 | "source": "./iso/ConEmuSetup.140422.exe",
86 | "destination": "ConEmuSetup.140422.exe"
87 | },
88 | {
89 | "type": "file",
90 | "source": "./configs/Sane.vssettings",
91 | "destination": "Sane.vssettings"
92 | },
93 | {
94 | "type": "file",
95 | "source": "./configs/ConEmu.reg",
96 | "destination": "ConEmu.reg"
97 | },
98 | {
99 | "type": "file",
100 | "source": "./configs/vsActionManager.DotSettings",
101 | "destination": "vsActionManager.DotSettings"
102 | },
103 | {
104 | "type": "shell",
105 | "remote_path": "/tmp/fonts.ps1",
106 | "script": "scripts/fonts.ps1",
107 | "execute_command": "powershell -File c:/windows/temp/fonts.ps1"
108 | },
109 | {
110 | "type": "shell",
111 | "remote_path": "/tmp/git.ps1",
112 | "script": "scripts/git.ps1",
113 | "execute_command": "powershell -File c:/windows/temp/git.ps1"
114 | },
115 | {
116 | "type": "shell",
117 | "remote_path": "/tmp/conemu.ps1",
118 | "script": "scripts/conemu.ps1",
119 | "execute_command": "powershell -File c:/windows/temp/conemu.ps1"
120 | },
121 | {
122 | "type": "shell",
123 | "remote_path": "/tmp/vs2013.ps1",
124 | "script": "scripts/vs2013.ps1",
125 | "execute_command": "powershell -File c:/windows/temp/vs2013.ps1"
126 | },
127 | {
128 | "type": "shell",
129 | "remote_path": "/tmp/reboot.bat",
130 | "script": "scripts/reboot.bat",
131 | "execute_command": "c:/windows/temp/reboot.bat"
132 | },
133 | {
134 | "type": "shell", "inline": ["rm -rf /tmp/*"]
135 | }
136 | ],
137 | "post-processors": [
138 | {
139 | "type": "vagrant",
140 | "keep_input_artifact": false,
141 | "output": "net_dev_{{.Provider}}.box",
142 | "vagrantfile_template": "vagrantfile-net_dev.template"
143 | }
144 | ]
145 | }
146 |
--------------------------------------------------------------------------------
/scripts/.gitignore:
--------------------------------------------------------------------------------
1 | *.exe
2 | *.msi
3 | *.msu
--------------------------------------------------------------------------------
/scripts/NoStupidHelp.bat:
--------------------------------------------------------------------------------
1 | reg.exe ADD "HKCU\Software\Policies\Microsoft\Windows\EdgeUI" /v DisableHelpSticker /t REG_DWORD /d 1 /f
2 | reg.exe ADD "HKLM\Software\Policies\Microsoft\Windows\EdgeUI" /v DisableHelpSticker /t REG_DWORD /d 1 /f
3 | reg.exe ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v EnableBalloonTips /t REG_DWORD /d 0 /f
4 |
--------------------------------------------------------------------------------
/scripts/chef.bat:
--------------------------------------------------------------------------------
1 | if not exist "C:\Windows\Temp\chef.msi" (
2 | powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://www.opscode.com/chef/install.msi', 'C:\Windows\Temp\chef.msi')" > C:\Windows\Temp\PATH
4 | set /p PATH=
8 | None
9 | .EXAMPLE
10 | ./Disable-WindowsUpdates.ps1
11 | #>
12 | $RunningAsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
13 | if ($RunningAsAdmin)
14 | {
15 |
16 | $Updates = (New-Object -ComObject "Microsoft.Update.AutoUpdate").Settings
17 |
18 | if ($Updates.ReadOnly -eq $True) { Write-Error "Cannot update Windows Update settings due to GPO restrictions." }
19 |
20 | else {
21 | $Updates.NotificationLevel = 1 #Disabled
22 | $Updates.Save()
23 | $Updates.Refresh()
24 | Write-Output "Automatic Windows Updates disabled."
25 | }
26 | }
27 |
28 | else
29 | { Write-Warning "Must be executed in Administrator level shell."
30 | Write-Warning "Script Cancelled!" }
31 |
--------------------------------------------------------------------------------
/scripts/dpi.bat:
--------------------------------------------------------------------------------
1 | reg.exe ADD "HKCU\Control Panel\Desktop" /v Win8DpiScaling /t REG_DWORD /d 1 /f
2 | reg.exe ADD "HKCU\Control Panel\Desktop" /v LogPixels /t REG_DWORD /d 144 /f
3 | reg.exe ADD "HKCU\Control Panel\Desktop" /v LogicalDPIOverride /t REG_DWORD /d 1 /f
4 |
--------------------------------------------------------------------------------
/scripts/fonts.ps1:
--------------------------------------------------------------------------------
1 | $shell = New-Object -com "Shell.Application"
2 | $zip = $shell.NameSpace("C:\Users\vagrant\SourceCodePro_FontsOnly-1.017.zip")
3 | $destination = "C:\Users\vagrant\"
4 | foreach($item in $zip.items())
5 | {
6 | $shell.Namespace($destination).CopyHere($item)
7 | }
8 |
9 | $fontPath = Join-Path (Join-Path $destination "SourceCodePro_FontsOnly-1.017") "TTF"
10 | $dir = $shell.NameSpace($fontPath)
11 | Get-ChildItem -Path $fontPath -filter "*.ttf" | ForEach {
12 | $dir.ParseName($_.Name).InvokeVerb("Install")
13 | }
14 |
15 | Remove-Item -Force "C:\Users\vagrant\SourceCodePro_FontsOnly-1.017.zip"
16 | Remove-Item -Recurse -Force "C:\Users\vagrant\SourceCodePro_FontsOnly-1.017"
17 |
--------------------------------------------------------------------------------
/scripts/git.ps1:
--------------------------------------------------------------------------------
1 | $gitInstallerPath = "C:\Users\vagrant\Git-1.9.2-preview20140411.exe"
2 |
3 | Start-Process -FilePath $gitInstallerPath -ArgumentList '/VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS="assoc,assoc_sh"' -NoNewWindow -Wait
4 |
5 | $newPath="${Env:Path};${Env:ProgramFiles(x86)}\Git\bin;${Env:ProgramFiles(x86)}\Git\share\vim\vim74"
6 | Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH -Value $newPath
7 | [Environment]::SetEnvironmentVariable("PATH", $newPath, "Machine")
8 |
9 | Start-Process -NoNewWindow -Wait -FilePath "${Env:ProgramFiles(x86)}\Git\bin\git.exe" -ArgumentList "config --global core.autocrlf true"
10 |
11 | Remove-Item -Force -Path $gitInstallerPath
12 |
13 | Start-Process -NoNewWindow -Wait -FilePath "setx" -ArgumentList "TERM msys"
14 |
--------------------------------------------------------------------------------
/scripts/hotfix-KB2842230.bat:
--------------------------------------------------------------------------------
1 | :: Windows 8 / Windows 2012 require KB2842230 hotfix
2 | :: The Windows Remote Management (WinRM) service does not use the customized value of the MaxMemoryPerShellMB quota.
3 | :: Instead, the WinRM service uses the default value, which is 150 MB.
4 | :: http://hotfixv4.microsoft.com/Windows%208%20RTM/nosp/Fix452763/9200/free/463941_intl_x64_zip.exe
5 |
6 | @echo off
7 | set hotfix="C:\Windows\Temp\Windows8-RT-KB2842230-x64.msu"
8 | if not exist %hotfix% goto :eof
9 |
10 | :: get windows version
11 | for /f "tokens=2 delims=[]" %%G in ('ver') do (set _version=%%G)
12 | for /f "tokens=2,3,4 delims=. " %%G in ('echo %_version%') do (set _major=%%G& set _minor=%%H& set _build=%%I)
13 |
14 | :: 6.2 or 6.3
15 | if %_major% neq 6 goto :eof
16 | if %_minor% lss 2 goto :eof
17 | if %_minor% gtr 3 goto :eof
18 |
19 | @echo on
20 | start /wait wusa "%hotfix%" /quiet /norestart
--------------------------------------------------------------------------------
/scripts/openssh.ps1:
--------------------------------------------------------------------------------
1 | param (
2 | [switch]$AutoStart = $false
3 | )
4 |
5 | Write-Host "AutoStart: $AutoStart"
6 | $is_64bit = [IntPtr]::size -eq 8
7 |
8 | # setup openssh
9 | $ssh_download_url = "http://www.mls-software.com/files/setupssh-6.4p1-1.exe"
10 | if ($is_64bit) {
11 | Write-Host "64 bit OS found"
12 | $ssh_download_url = "http://www.mls-software.com/files/setupssh-6.4p1-1(x64).exe"
13 | }
14 |
15 | if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) {
16 | Write-Host "Downloading $ssh_download_url"
17 | (New-Object System.Net.WebClient).DownloadFile($ssh_download_url, "C:\Windows\Temp\openssh.exe")
18 | Start-Process "C:\Windows\Temp\openssh.exe" "/S /port=22 /privsep=1 /password=D@rj33l1ng" -NoNewWindow -Wait
19 | }
20 |
21 | Stop-Service "OpenSSHd" -Force
22 |
23 | # ensure vagrant can log in
24 | Write-Host "Setting vagrant user file permissions"
25 | New-Item -ItemType Directory -Force -Path "C:\Users\vagrant\.ssh"
26 | C:\Windows\System32\icacls.exe "C:\Users\vagrant" /grant "vagrant:(OI)(CI)F"
27 | C:\Windows\System32\icacls.exe "C:\Program Files\OpenSSH\bin" /grant "vagrant:(OI)RX"
28 | C:\Windows\System32\icacls.exe "C:\Program Files\OpenSSH\usr\sbin" /grant "vagrant:(OI)RX"
29 |
30 | Write-Host "Setting SSH home directories"
31 | (Get-Content "C:\Program Files\OpenSSH\etc\passwd") |
32 | Foreach-Object { $_ -replace '/home/(\w+)', '/cygdrive/c/Users/$1' } |
33 | Set-Content 'C:\Program Files\OpenSSH\etc\passwd'
34 |
35 | # fix opensshd to not be strict
36 | Write-Host "Setting OpenSSH to be non-strict"
37 | $sshd_config = Get-Content "C:\Program Files\OpenSSH\etc\sshd_config"
38 | $sshd_config = $sshd_config -replace 'StrictModes yes', 'StrictModes no'
39 | $sshd_config = $sshd_config -replace '#PubkeyAuthentication yes', 'PubkeyAuthentication yes'
40 | $sshd_config = $sshd_config -replace '#PermitUserEnvironment no', 'PermitUserEnvironment yes'
41 | # disable the use of DNS to speed up the time it takes to establish a connection
42 | $sshd_config = $sshd_config -replace '#UseDNS yes', 'UseDNS no'
43 | # disable the login banner
44 | $sshd_config = $sshd_config -replace 'Banner /etc/banner.txt', '#Banner /etc/banner.txt'
45 | Set-Content "C:\Program Files\OpenSSH\etc\sshd_config" $sshd_config
46 |
47 | # use c:\Windows\Temp as /tmp location
48 | Write-Host "Setting temp directory location"
49 | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\tmp"
50 | C:\Program` Files\OpenSSH\bin\junction.exe /accepteula "C:\Program Files\OpenSSH\tmp" "C:\Windows\Temp"
51 | C:\Windows\System32\icacls.exe "C:\Windows\Temp" /grant "vagrant:(OI)(CI)F"
52 |
53 | # add 64 bit environment variables missing from SSH
54 | Write-Host "Setting SSH environment"
55 | $sshenv = "TEMP=C:\Windows\Temp"
56 | if ($is_64bit) {
57 | $env_vars = "ProgramFiles(x86)=C:\Program Files (x86)", `
58 | "ProgramW6432=C:\Program Files", `
59 | "CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files", `
60 | "CommonProgramW6432=C:\Program Files\Common Files"
61 | $sshenv = $sshenv + "`r`n" + ($env_vars -join "`r`n")
62 | }
63 | Set-Content C:\Users\vagrant\.ssh\environment $sshenv
64 |
65 | # record the path for provisioners (without the newline)
66 | Write-Host "Recording PATH for provisioners"
67 | Set-Content C:\Windows\Temp\PATH ([byte[]][char[]] $env:PATH) -Encoding Byte
68 |
69 | # configure firewall
70 | Write-Host "Configuring firewall"
71 | netsh advfirewall firewall add rule name="SSHD" dir=in action=allow service=OpenSSHd enable=yes
72 | netsh advfirewall firewall add rule name="SSHD" dir=in action=allow program="C:\Program Files\OpenSSH\usr\sbin\sshd.exe" enable=yes
73 | netsh advfirewall firewall add rule name="ssh" dir=in action=allow protocol=TCP localport=22
74 |
75 | if ($AutoStart -eq $true) {
76 | Start-Service "OpenSSHd"
77 | }
--------------------------------------------------------------------------------
/scripts/oracle-cert.cer:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jen20/packer-windows-netdev/92f92aeed2856bf7c5af68e7059f92abc5cf7972/scripts/oracle-cert.cer
--------------------------------------------------------------------------------
/scripts/puppet-enterprise.bat:
--------------------------------------------------------------------------------
1 | if not exist "C:\Windows\Temp\puppet.msi" (
2 | powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://pm.puppetlabs.com/puppet-enterprise/3.0.1/puppet-enterprise-3.0.1.msi', 'C:\Windows\Temp\puppet.msi')" > C:\Windows\Temp\PATH
9 | set /p PATH=> C:\Windows\Temp\PATH
9 | set /p PATH= Skipping: $($Update.Title) because it requires user input"
58 | } else {
59 | if (!($Update.EulaAccepted)) {
60 | Write-Host "> Note: $($Update.Title) has a license agreement that must be accepted. Accepting the license."
61 | $Update.AcceptEula()
62 | [bool]$addThisUpdate = $true
63 | } else {
64 | [bool]$addThisUpdate = $true
65 | }
66 | }
67 |
68 | if ([bool]$addThisUpdate) {
69 | Write-Host "Adding: $($Update.Title)"
70 | $UpdatesToDownload.Add($Update) |Out-Null
71 | }
72 | }
73 | }
74 |
75 | if ($UpdatesToDownload.Count -eq 0) {
76 | Write-Host "No Updates To Download..."
77 | } else {
78 | Write-Host 'Downloading Updates...'
79 | $Downloader = $UpdateSession.CreateUpdateDownloader()
80 | $Downloader.Updates = $UpdatesToDownload
81 | $Downloader.Download()
82 | }
83 |
84 | $UpdatesToInstall = New-Object -ComObject 'Microsoft.Update.UpdateColl'
85 | [bool]$rebootMayBeRequired = $false
86 | Write-Host 'The following updates are downloaded and ready to be installed:'
87 | foreach ($Update in $SearchResult.Updates) {
88 | if (($Update.IsDownloaded)) {
89 | Write-Host "> $($Update.Title)"
90 | $UpdatesToInstall.Add($Update) |Out-Null
91 |
92 | if ($Update.InstallationBehavior.RebootBehavior -gt 0){
93 | [bool]$rebootMayBeRequired = $true
94 | }
95 | }
96 | }
97 |
98 | if ($UpdatesToInstall.Count -eq 0) {
99 | Write-Host 'No updates available to install...'
100 | $global:MoreUpdates=0
101 | $global:RestartRequired=0
102 | Set-Service -Name $script:ServiceName -StartupType Automatic -Status Running
103 | break
104 | }
105 |
106 | if ($rebootMayBeRequired) {
107 | Write-Host 'These updates may require a reboot'
108 | $global:RestartRequired=1
109 | }
110 |
111 | Write-Host 'Installing updates...'
112 |
113 | $Installer = $script:UpdateSession.CreateUpdateInstaller()
114 | $Installer.Updates = $UpdatesToInstall
115 | $InstallationResult = $Installer.Install()
116 |
117 | Write-Host "Installation Result: $($InstallationResult.ResultCode)"
118 | Write-Host "Reboot Required: $($InstallationResult.RebootRequired)"
119 | Write-Host 'Listing of updates installed and individual installation results:'
120 | if ($InstallationResult.RebootRequired) {
121 | $global:RestartRequired=1
122 | } else {
123 | $global:RestartRequired=0
124 | }
125 |
126 | for($i=0; $i -lt $UpdatesToInstall.Count; $i++) {
127 | New-Object -TypeName PSObject -Property @{
128 | Title = $UpdatesToInstall.Item($i).Title
129 | Result = $InstallationResult.GetUpdateResult($i).ResultCode
130 | }
131 | }
132 |
133 | Check-ContinueRestartOrEnd
134 | }
135 |
136 | function Check-WindowsUpdates() {
137 | Write-Host "Checking For Windows Updates"
138 | $Username = $env:USERDOMAIN + "\" + $env:USERNAME
139 |
140 | New-EventLog -Source $ScriptName -LogName 'Windows Powershell' -ErrorAction SilentlyContinue
141 |
142 | $Message = "Script: " + $ScriptPath + "`nScript User: " + $Username + "`nStarted: " + (Get-Date).toString()
143 |
144 | Write-EventLog -LogName 'Windows Powershell' -Source $ScriptName -EventID "104" -EntryType "Information" -Message $Message
145 | Write-Host $Message
146 |
147 | $script:UpdateSearcher = $script:UpdateSession.CreateUpdateSearcher()
148 | $script:SearchResult = $script:UpdateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
149 | if ($SearchResult.Updates.Count -ne 0) {
150 | $script:SearchResult.Updates |Select-Object -Property Title, Description, SupportUrl, UninstallationNotes, RebootRequired, EulaAccepted |Format-List
151 | $global:MoreUpdates=1
152 | } else {
153 | Write-Host 'There are no applicable updates'
154 | $global:RestartRequired=0
155 | $global:MoreUpdates=0
156 | }
157 | }
158 |
159 | $script:ScriptName = $MyInvocation.MyCommand.ToString()
160 | $script:ScriptPath = $MyInvocation.MyCommand.Path
161 | $script:UpdateSession = New-Object -ComObject 'Microsoft.Update.Session'
162 | $script:UpdateSession.ClientApplicationID = 'Packer Windows Update Installer'
163 | $script:UpdateSearcher = $script:UpdateSession.CreateUpdateSearcher()
164 | $script:SearchResult = New-Object -ComObject 'Microsoft.Update.UpdateColl'
165 | $script:Cycles = 0
166 |
167 | $script:ServiceName = "OpenSSHd"
168 |
169 | Stop-Service $script:ServiceName -Force
170 | Set-Service -Name $script:ServiceName -StartupType Disabled -Status Stopped
171 |
172 | Check-WindowsUpdates
173 | if ($global:MoreUpdates -eq 1) {
174 | Install-WindowsUpdates
175 | } else {
176 | Check-ContinueRestartOrEnd
177 | }
--------------------------------------------------------------------------------
/vagrantfile-net_dev.template:
--------------------------------------------------------------------------------
1 | # -*- mode: ruby -*-
2 | # vi: set ft=ruby :
3 |
4 | Vagrant.configure("2") do |config|
5 | config.vm.define "vagrant-net_dev"
6 | config.vm.box = "net_dev"
7 |
8 | # Admin user name and password
9 | config.winrm.username = "vagrant"
10 | config.winrm.password = "vagrant"
11 |
12 | config.vm.guest = :windows
13 | config.windows.halt_timeout = 15
14 |
15 | config.vm.communicator = "winrm"
16 | config.vm.network :forwarded_port, guest: 5985, host: 5985, id: "winrm", auto_correct: true
17 |
18 | config.vm.provider "vmware_fusion" do |v|
19 | v.gui = true
20 | v.vmx["memsize"] = "2048"
21 | v.vmx["ethernet0.virtualDev"] = "vmxnet3"
22 | v.vmx["RemoteDisplay.vnc.enabled"] = "false"
23 | v.vmx["RemoteDisplay.vnc.port"] = "5900"
24 | v.vmx["scsi0.virtualDev"] = "lsisas1068"
25 | end
26 |
27 | #Copy Resharper license and register if environment var is set
28 | if ENV['RESHARPER_LICENSE_REGKEY'] != nil
29 | config.vm.provision "file" do |s|
30 | s.source = ENV['RESHARPER_LICENSE_REGKEY']
31 | s.destination = "resharper.reg"
32 | end
33 |
34 | config.vm.provision "shell",
35 | inline: 'reg import c:\Users\vagrant\resharper.reg'
36 |
37 | config.vm.provision "shell",
38 | inline: 'del c:\Users\vagrant\resharper.reg'
39 | end
40 |
41 | $git_user = `git config user.name`
42 | config.vm.provision "shell",
43 | inline: "git config --global user.name \"#$git_user\""
44 |
45 | $git_email = `git config user.email`
46 | config.vm.provision "shell",
47 | inline: "git config --global user.email #$git_email"
48 | end
49 |
--------------------------------------------------------------------------------