UsbDkController: BZ#1138233 - "UsbDkController.exe -i" fails when not called from current directory
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
This commit is contained in:
parent
ccb28eb69e
commit
d0094f66a0
3 changed files with 51 additions and 16 deletions
|
|
@ -171,10 +171,44 @@ static void Controller_RedirectDevice(TCHAR *DeviceID, TCHAR *InstanceID)
|
|||
}
|
||||
//-------------------------------------------------------------------------------
|
||||
|
||||
static bool Controller_ChdirToPackageFolder()
|
||||
{
|
||||
TCHAR PackagePath[MAX_PATH];
|
||||
|
||||
auto Length = GetModuleFileName(NULL, PackagePath, ARRAY_SIZE(PackagePath));
|
||||
|
||||
if ((Length == 0) || (Length == ARRAY_SIZE(PackagePath)))
|
||||
{
|
||||
tcout << TEXT("Failed to get executable path.") << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!PathRemoveFileSpec(PackagePath))
|
||||
{
|
||||
tcout << TEXT("Failed to get package directory.") << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!SetCurrentDirectory(PackagePath))
|
||||
{
|
||||
auto Error = GetLastError();
|
||||
tcout << TEXT("Failed to make package directory current, error: ") << Error << TEXT(".") << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
//-------------------------------------------------------------------------------
|
||||
|
||||
int __cdecl _tmain(int argc, TCHAR* argv[])
|
||||
{
|
||||
if (argc > 1)
|
||||
{
|
||||
if (!Controller_ChdirToPackageFolder())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (_tcsicmp(L"-i", argv[1]) == 0)
|
||||
{
|
||||
Controller_InstallDriver();
|
||||
|
|
|
|||
|
|
@ -306,7 +306,7 @@
|
|||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -327,7 +327,7 @@
|
|||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -348,7 +348,7 @@
|
|||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -392,7 +392,7 @@
|
|||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>USBDK_MAJOR_VERSION=$(USBDK_MAJOR_VERSION);USBDK_MINOR_VERSION=$(USBDK_MINOR_VERSION);USBDK_BUILD_NUMBER=$(USBDK_BUILD_NUMBER);_WIN64;_AMD64_=1;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
|
@ -414,7 +414,7 @@
|
|||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>USBDK_MAJOR_VERSION=$(USBDK_MAJOR_VERSION);USBDK_MINOR_VERSION=$(USBDK_MINOR_VERSION);USBDK_BUILD_NUMBER=$(USBDK_BUILD_NUMBER);_USING_V110_SDK71_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
|
@ -435,7 +435,7 @@
|
|||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -456,7 +456,7 @@
|
|||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -481,7 +481,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -506,7 +506,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -531,7 +531,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -556,7 +556,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -582,7 +582,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -608,7 +608,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -634,7 +634,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
@ -659,7 +659,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>$(OutDir)UsbDkHelper.lib;%(AdditionalDependencies);Shlwapi.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(ConfigurationName)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include <windows.h>
|
||||
#include <tstrings.h>
|
||||
#include <cfgmgr32.h>
|
||||
#include <shlwapi.h>
|
||||
|
||||
#ifndef _USING_V110_SDK71_
|
||||
#include <usbspec.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue