diff --git a/rostests/winetests/shlwapi/istream.c b/rostests/winetests/shlwapi/istream.c
index ef7191ca4fb..d8aced58c3a 100644
--- a/rostests/winetests/shlwapi/istream.c
+++ b/rostests/winetests/shlwapi/istream.c
@@ -197,10 +197,15 @@ static void test_SHCreateStreamOnFileA(DWORD mode, DWORD stgm)
IStream * stream;
HRESULT ret;
ULONG refcount;
- static const char * test_file = "c:\\test.txt";
+ char test_file[MAX_PATH];
+ static const CHAR testA_txt[] = "\\testA.txt";
trace("SHCreateStreamOnFileA: testing mode %d, STGM flags %08x\n", mode, stgm);
+ /* Don't used a fixed path for the testA.txt file */
+ GetTempPathA(MAX_PATH, test_file);
+ lstrcatA(test_file, testA_txt);
+
/* invalid arguments */
stream = NULL;
@@ -284,10 +289,15 @@ static void test_SHCreateStreamOnFileW(DWORD mode, DWORD stgm)
IStream * stream;
HRESULT ret;
ULONG refcount;
- static const WCHAR test_file[] = { 'c', ':', '\\', 't', 'e', 's', 't', '.', 't', 'x', 't', '\0' };
+ WCHAR test_file[MAX_PATH];
+ static const WCHAR testW_txt[] = { '\\', 't', 'e', 's', 't', 'W', '.', 't', 'x', 't', '\0' };
trace("SHCreateStreamOnFileW: testing mode %d, STGM flags %08x\n", mode, stgm);
+ /* Don't used a fixed path for the testW.txt file */
+ GetTempPathW(MAX_PATH, test_file);
+ lstrcatW(test_file, testW_txt);
+
/* invalid arguments */
stream = NULL;
diff --git a/rostests/winetests/shlwapi/shlwapi.rbuild b/rostests/winetests/shlwapi/shlwapi.rbuild
index 29025301b71..ac5bc5ef854 100644
--- a/rostests/winetests/shlwapi/shlwapi.rbuild
+++ b/rostests/winetests/shlwapi/shlwapi.rbuild
@@ -16,12 +16,12 @@
url.c
testlist.c
wine
+ uuid
shlwapi
advapi32
ole32
oleaut32
kernel32
- uuid
ntdll
diff --git a/rostests/winetests/shlwapi/string.c b/rostests/winetests/shlwapi/string.c
index 0b4f28ba29e..79a645c2e71 100755
--- a/rostests/winetests/shlwapi/string.c
+++ b/rostests/winetests/shlwapi/string.c
@@ -957,4 +957,6 @@ START_TEST(string)
test_SHAnsiToAnsi();
test_SHUnicodeToUnicode();
test_StrXXX_overflows();
+
+ CoUninitialize();
}