| #!/bin/sh |
| # |
| # Script to create the initial WINEPREFIX directory |
| # |
| # Copyright 1999 Ove Kåven |
| # Copyright 2004 Chris Morgan |
| # Copyright 2004 Alexandre Julliard |
| # |
| # This library is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2.1 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with this library; if not, write to the Free Software |
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| # |
| |
| dlldir=@dlldir@ |
| datadir=@datadir@ |
| |
| WINEPREFIX="${1:-$WINEPREFIX}" |
| WINEPREFIX="${WINEPREFIX:-$HOME/.wine}" |
| |
| if [ -d "$WINEPREFIX" ] |
| then |
| echo "The $WINEPREFIX directory already exists, aborting" |
| exit 1 |
| fi |
| |
| if mkdir "$WINEPREFIX"; then : |
| else |
| echo "Could not create $WINEPREFIX, aborting" |
| exit 1 |
| fi |
| |
| CROOT="$WINEPREFIX/drive_c" |
| |
| # Create the directory tree |
| |
| for i in \ |
| "$WINEPREFIX/dosdevices" \ |
| "$CROOT" \ |
| "$CROOT/windows" \ |
| "$CROOT/windows/command" \ |
| "$CROOT/windows/fonts" \ |
| "$CROOT/windows/inf" \ |
| "$CROOT/windows/profiles" \ |
| "$CROOT/windows/profiles/Administrator" \ |
| "$CROOT/windows/Program Files" \ |
| "$CROOT/windows/Program Files/Common Files" \ |
| "$CROOT/windows/Start Menu" \ |
| "$CROOT/windows/Start Menu/Programs" \ |
| "$CROOT/windows/Start Menu/Programs/Startup" \ |
| "$CROOT/windows/system" \ |
| "$CROOT/windows/temp" |
| do |
| mkdir "$i" |
| done |
| |
| # Create the drive symlinks |
| |
| ln -s "../drive_c" "$WINEPREFIX/dosdevices/c:" |
| ln -s "/" "$WINEPREFIX/dosdevices/z:" |
| |
| # Create the application symlinks |
| |
| link_app() |
| { |
| ln -s "$dlldir/$1.exe.so" "$2" || echo "Warning: failed to create $2" |
| } |
| |
| link_app start "$CROOT/windows/command/start.exe" |
| link_app notepad "$CROOT/windows/notepad.exe" |
| link_app regedit "$CROOT/windows/regedit.exe" |
| link_app rundll32 "$CROOT/windows/rundll32.exe" |
| link_app wcmd "$CROOT/windows/system/wcmd.exe" |
| link_app control "$CROOT/windows/system/control.exe" |
| link_app winhelp "$CROOT/windows/system/help.exe" |
| link_app notepad "$CROOT/windows/system/notepad.exe" |
| link_app progman "$CROOT/windows/system/progman.exe" |
| link_app regsvr32 "$CROOT/windows/system/regsvr32.exe" |
| link_app winemine "$CROOT/windows/system/winmine.exe" |
| link_app winver "$CROOT/windows/system/winver.exe" |
| link_app uninstaller "$CROOT/windows/uninstall.exe" |
| link_app winhelp "$CROOT/windows/winhelp.exe" |
| link_app winhelp "$CROOT/windows/winhlp32.exe" |
| link_app winebrowser "$CROOT/windows/winebrowser.exe" |
| |
| # Copy the .inf script and run it |
| |
| cp "$datadir/wine/wine.inf" "$CROOT/windows/inf/wine.inf" |
| export WINEPREFIX |
| ${WINELOADER:-wine} rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 wine.inf |
| |
| # Wait for the wineserver to finish |
| |
| ${WINESERVER:-wineserver} -w |
| |
| echo "$WINEPREFIX created successfully." |