summarylogtreecommitdiffstats
path: root/keepass-wine
blob: 8e220911b8a68cff5a46e5b2b62fa52005fa4401 (plain)
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
#!/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 "$@"`"