diff --git a/mpv.net/Update.ps1 b/mpv.net/Update.ps1
new file mode 100644
index 0000000..fb7e7cf
--- /dev/null
+++ b/mpv.net/Update.ps1
@@ -0,0 +1,23 @@
+
+$ErrorActionPreference = 'Stop'
+$targetDir = (Split-Path $args[1]) + "\new version"
+$targetFile = $targetDir + '.7z'
+
+Write-Host 'Download new version' -ForegroundColor Green
+curl.exe $args[0] --location --output $targetFile
+if (-not $?) { throw "curl error: $LastExitCode" }
+
+Write-Host 'Unpack new version' -ForegroundColor Green
+& ($args[1] + '\7z\7za.exe') x -y $targetFile -o"$targetDir"
+if (-not $?) { throw "7zip error: $LastExitCode" }
+
+Write-Host 'Delete downloaded file' -ForegroundColor Green
+Remove-Item $targetFile -Force -Recurse
+
+Write-Host 'Delete current version' -ForegroundColor Green
+Remove-Item $args[1] -Force -Recurse
+
+Write-Host 'Rename directory' -ForegroundColor Green
+Rename-Item $targetDir (Split-Path $args[1] -Leaf)
+
+Write-Host 'Update is complete' -ForegroundColor Green
diff --git a/mpv.net/mpv.net.csproj b/mpv.net/mpv.net.csproj
index 10deecc..4627885 100644
--- a/mpv.net/mpv.net.csproj
+++ b/mpv.net/mpv.net.csproj
@@ -118,6 +118,9 @@
+
+ PreserveNewest
+
MSBuild:Compile
Designer