Make sure paths end with a slash before concatenating file names.

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index b56d062..b3cd050 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -1965,12 +1965,17 @@
 
     if (package->folders[i].ParentIndex >= 0)
     {
+        int len;
         TRACE(" ! Parent is %s\n", debugstr_w(package->folders[
                    package->folders[i].ParentIndex].Directory));
         resolve_folder(package, package->folders[
                        package->folders[i].ParentIndex].Directory, path,source,
                        set_prop, NULL);
 
+        len = strlenW(path);
+        if (len && path[len-1] != '\\')
+            strcatW(path, cszbs);
+
         if (!source)
         {
             if (package->folders[i].TargetDefault[0])
@@ -2072,9 +2077,14 @@
 
         if (comp)
         {
+            int len;
             /* calculate target */
             resolve_folder(package, comp->Directory, file->TargetPath, FALSE,
                        FALSE, NULL);
+            /* make sure that the path ends in a \ */
+            len = strlenW(file->TargetPath);
+            if (len && file->TargetPath[len-1] != '\\')
+                strcatW(file->TargetPath, cszbs);
             strcatW(file->TargetPath,file->FileName);
 
             TRACE("file %s resolves to %s\n",