summarylogtreecommitdiffstats
path: root/keepass-wine
diff options
context:
space:
mode:
Diffstat (limited to 'keepass-wine')
-rwxr-xr-xkeepass-wine30
1 files changed, 30 insertions, 0 deletions
diff --git a/keepass-wine b/keepass-wine
new file mode 100755
index 000000000000..8e220911b8a6
--- /dev/null
+++ b/keepass-wine
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+export WINEPREFIX="$HOME/.keepass-wine"
+export WINEARCH=win32
+export WINEDEBUG=-fixme
+export WINEDLLOVERRIDES="mscoree,mshtml="
+
+function setpath(){
+ # PathExt
+ keyname="HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
+ valuename="PATHEXT"
+ value="$(wine reg query "$keyname" -v "$valuename" | sed 's|\r||g' | awk '$1 == "PATHEXT" {print $3 ";."}')"
+ wine reg add "$keyname" /f /v "$valuename" /t REG_SZ /d "$value"
+ # Path
+ keyname="HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
+ valuename="PATH"
+ value="$(wine reg query "$keyname" -v "$valuename" | sed 's|\r||g' | awk '$1 == "PATH" {print $3}')$(echo $(for i in $(echo $PATH | sed 's|:|\n|g') ; do echo -n \;$(winepath -w $i) ; done 2>/dev/null))"
+ wine reg add "$keyname" /f /v "$valuename" /t REG_SZ /d "$value"
+}
+
+# First Run
+if [ ! -d "$WINEPREFIX" ] ; then
+ mkdir -p `dirname $WINEPREFIX`
+ # Install dotnetfx
+ wine "/usr/share/keepass-wine/dotnetfx.exe" /c:"install.exe /q"
+ setpath
+fi
+
+# Start Keepass
+wine "/usr/share/keepass-wine/KeePass.exe" "`winepath -w "$@"`"