POL_Install_xinput

Informations

Creator Message
GNU_Raziel

Information

This installer has been approved by the team.

Informations

Platforms:
Downloads: 201751
Wine: System

Feedbacks

Description

Xinput (for Xbox360 wired controller) support

Source code

#!/bin/bash
# Date : (2011-01-03 21-00)
# Last revision : (2012-02-24 21:00)
# Author : Unknown
# Updated by : GNU_Raziel
# Only For : http://www.playonlinux.com

# Downloading directx runtime
POL_Download_Resource "http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe" "822e4c516600e81dc7fb16d9a77ec6d4"

# Extracting & Installing Xinput dlls
POL_SetupWindow_wait_next_signal "$(eval_gettext 'Installing Xinput dlls...')" "$TITLE"
cd "$POL_USER_ROOT/ressources"

if [ "$POL_ARCH" == "amd64" ]; then
        mkdir "xinput_x64"
        cabextract -d xinput_x64/ -L -F '*_xinput_*x64*' directx_Jun2010_redist.exe

        for x in `ls xinput_x64/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/system32" -L -F '*.dll' "$x"
        done
        mkdir "xinput_x86"
        cabextract -d xinput_x86/ -L -F '*_xinput_*x86*' directx_Jun2010_redist.exe

        for x in `ls xinput_x86/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/syswow64" -L -F '*.dll' "$x"
        done
else
        mkdir "xinput_x86"
        cabextract -d xinput_x86/ -L -F '*_xinput_*x86*' directx_Jun2010_redist.exe

        for x in `ls xinput_x86/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/system32" -L -F '*.dll' "$x"
        done
fi

# Registering Xinput
POL_SetupWindow_wait "$(eval_gettext 'Registering libraries, please wait\n(It can take a while)')" "$TITLE"
for x in `ls "$WINEPREFIX"/drive_c/windows/system32/xinput*`
do
         POL_Wine --ignore-errors regsvr32 `basename $x`
    case $? in
      0|4) ;; # 4 = registration not required
      *) POL_Debug_Fatal "Error $? registering DLL $x"
    esac
done

# Overriding dll
POL_Call POL_Function_OverrideDLL "native" "xinput1_1" "xinput1_2" "xinput1_3" "xinput9_1_0"

# Cleaning
POL_Debug_Message "Deleting temporary directories"
rm -rf "$POL_USER_ROOT/ressources/xinput_x86"
if [ "$POL_ARCH" == "amd64" ]; then
        rm -rf "$POL_USER_ROOT/ressources/xinput_x64"
fi

Contributions

Filters:

Contribute
Member Message
Yaotl Monday 17 May 2021 at 6:24
Yaotl Anonymous

Information

This update has been approved by the team.

Differences

@@ -6,7 +6,7 @@
 # Only For : http://www.playonlinux.com
 
 # Downloading directx runtime
-POL_Download_Resource "http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe" "7c1fc2021cf57fed3c25c9b03cd0c31a"
+POL_Download_Resource "http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe" "822e4c516600e81dc7fb16d9a77ec6d4"
 
 # Extracting & Installing Xinput dlls
 POL_SetupWindow_wait_next_signal "$(eval_gettext 'Installing Xinput dlls...')" "$TITLE"

New source code

#!/bin/bash
# Date : (2011-01-03 21-00)
# Last revision : (2012-02-24 21:00)
# Author : Unknown
# Updated by : GNU_Raziel
# Only For : http://www.playonlinux.com

# Downloading directx runtime
POL_Download_Resource "http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe" "822e4c516600e81dc7fb16d9a77ec6d4"

# Extracting & Installing Xinput dlls
POL_SetupWindow_wait_next_signal "$(eval_gettext 'Installing Xinput dlls...')" "$TITLE"
cd "$POL_USER_ROOT/ressources"

if [ "$POL_ARCH" == "amd64" ]; then
        mkdir "xinput_x64"
        cabextract -d xinput_x64/ -L -F '*_xinput_*x64*' directx_Jun2010_redist.exe

        for x in `ls xinput_x64/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/system32" -L -F '*.dll' "$x"
        done
        mkdir "xinput_x86"
        cabextract -d xinput_x86/ -L -F '*_xinput_*x86*' directx_Jun2010_redist.exe

        for x in `ls xinput_x86/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/syswow64" -L -F '*.dll' "$x"
        done
else
        mkdir "xinput_x86"
        cabextract -d xinput_x86/ -L -F '*_xinput_*x86*' directx_Jun2010_redist.exe

        for x in `ls xinput_x86/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/system32" -L -F '*.dll' "$x"
        done
fi

# Registering Xinput
POL_SetupWindow_wait "$(eval_gettext 'Registering libraries, please wait\n(It can take a while)')" "$TITLE"
for x in `ls "$WINEPREFIX"/drive_c/windows/system32/xinput*`
do
         POL_Wine --ignore-errors regsvr32 `basename $x`
    case $? in
      0|4) ;; # 4 = registration not required
      *) POL_Debug_Fatal "Error $? registering DLL $x"
    esac
done

# Overriding dll
POL_Call POL_Function_OverrideDLL "native" "xinput1_1" "xinput1_2" "xinput1_3" "xinput9_1_0"

# Cleaning
POL_Debug_Message "Deleting temporary directories"
rm -rf "$POL_USER_ROOT/ressources/xinput_x86"
if [ "$POL_ARCH" == "amd64" ]; then
        rm -rf "$POL_USER_ROOT/ressources/xinput_x64"
fi

Replies

Monday 17 May 2021 at 11:46
Script approved, thanks.
petch Sunday 17 January 2016 at 8:45
petch

Warning

This update has not been approved yet by the team.
Use it at your own risk

Message

Fix for regsvr returning exitcode 4 for "registration not required"

Differences

@@ -41,7 +41,11 @@
 POL_SetupWindow_wait "$(eval_gettext 'Registering libraries, please wait\n(It can take a while)')" "$TITLE"
 for x in `ls "$WINEPREFIX"/drive_c/windows/system32/xinput*`
 do
- 	POL_Wine regsvr32 `basename $x`
+ 	POL_Wine --ignore-errors regsvr32 `basename $x`
+    case $? in
+      0|4) ;; # 4 = registration not required
+      *) POL_Debug_Fatal "Error $? registering DLL $x"
+    esac
 done
 
 # Overriding dll

New source code

#!/bin/bash
# Date : (2011-01-03 21-00)
# Last revision : (2012-02-24 21:00)
# Author : Unknown
# Updated by : GNU_Raziel
# Only For : http://www.playonlinux.com

# Downloading directx runtime
POL_Download_Resource "http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe" "7c1fc2021cf57fed3c25c9b03cd0c31a"

# Extracting & Installing Xinput dlls
POL_SetupWindow_wait_next_signal "$(eval_gettext 'Installing Xinput dlls...')" "$TITLE"
cd "$POL_USER_ROOT/ressources"

if [ "$POL_ARCH" == "amd64" ]; then
        mkdir "xinput_x64"
        cabextract -d xinput_x64/ -L -F '*_xinput_*x64*' directx_Jun2010_redist.exe

        for x in `ls xinput_x64/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/system32" -L -F '*.dll' "$x"
        done
        mkdir "xinput_x86"
        cabextract -d xinput_x86/ -L -F '*_xinput_*x86*' directx_Jun2010_redist.exe

        for x in `ls xinput_x86/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/syswow64" -L -F '*.dll' "$x"
        done
else
        mkdir "xinput_x86"
        cabextract -d xinput_x86/ -L -F '*_xinput_*x86*' directx_Jun2010_redist.exe

        for x in `ls xinput_x86/*.cab`
        do
          cabextract -d "$WINEPREFIX/drive_c/windows/system32" -L -F '*.dll' "$x"
        done
fi

# Registering Xinput
POL_SetupWindow_wait "$(eval_gettext 'Registering libraries, please wait\n(It can take a while)')" "$TITLE"
for x in `ls "$WINEPREFIX"/drive_c/windows/system32/xinput*`
do
         POL_Wine --ignore-errors regsvr32 `basename $x`
    case $? in
      0|4) ;; # 4 = registration not required
      *) POL_Debug_Fatal "Error $? registering DLL $x"
    esac
done

# Overriding dll
POL_Call POL_Function_OverrideDLL "native" "xinput1_1" "xinput1_2" "xinput1_3" "xinput9_1_0"

# Cleaning
POL_Debug_Message "Deleting temporary directories"
rm -rf "$POL_USER_ROOT/ressources/xinput_x86"
if [ "$POL_ARCH" == "amd64" ]; then
        rm -rf "$POL_USER_ROOT/ressources/xinput_x64"
fi

Replies

TazX Sunday 17 January 2016 at 4:15
TazX Anonymous

Message

I'm unable to run the xinput installer.  It goes to run the libraries then crashes with a pretty standard message:

Error in POL_Wine
Wine seems to have crashed

If your program is running, just ignore this message

I am unsure of how to debug the installers, but am willing to try something else.  I tried installing the file from here, in the hopes of it working (or at least getting a more informative message).  I got an exception pop up:

System.InvalidOperationException: Unable to generate a temporary class (result=1).
error CS0012: The type 'x360ce.Engine.Data.Game' is defined in an assembly that is not referenced. You must add a reference to assembly 'x360ce.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
error CS0012: The type 'x360ce.Engine.Data.Program' is defined in an assembly that is not referenced. You must add a reference to assembly 'x360ce.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
error CS0012: The type 'x360ce.Engine.Data.PadSetting' is defined in an assembly that is not referenced. You must add a reference to assembly 'x360ce.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

   at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
   at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
   at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace, String location, Evidence evidence)
   at System.Xml.Serialization.XmlSerializer..ctor(Type type, XmlAttributeOverrides overrides, Type[] extraTypes, XmlRootAttribute root, String defaultNamespace, String location, Evidence evidence)
   at System.Xml.Serialization.XmlSerializer..ctor(Type type, Type[] extraTypes)
   at x360ce.App.Serializer.GetXmlSerializer(Type type)
   at x360ce.App.Serializer.SerializeToXmlFile(Object o, String path, Encoding encoding, Boolean omitXmlDeclaration, Int32 attempts, Int32 waitTime)
   at x360ce.App.SettingsFile.Save(Boolean updateGameDatabase)
   at x360ce.App.SettingsFile.Load()
   at x360ce.App.Controls.GameSettingsUserControl.InitDefaultList()
   at x360ce.App.Controls.GameSettingsUserControl..ctor()
   at x360ce.App.MainForm.InitializeComponent()
   at x360ce.App.MainForm..ctor()
   at x360ce.App.Program.Main(String[] args)

Any help would be appreciated.  I'm afraid my knowledge of Linux is sketchy at best, but I have another copy of the game (Brothers: A Tale of Two Sons) for someone who knows more, and wants to give it a go.  Thanks!

Replies

Sunday 17 January 2016 at 8:48
Script should be fixed to work with recent Wine (1.7.51 onward)

This site allows content generated by members, and we promptly remove any content that infringes copyright according to our Terms of Service. To report copyright infringement, please send a notice to dmca-notice@playonlinux.com