Index: /extensions/Picasa2Piwigo/Picasa2Piwigo/Form1Settings.Designer.cs
===================================================================
--- /extensions/Picasa2Piwigo/Picasa2Piwigo/Form1Settings.Designer.cs	(revision 26934)
+++ /extensions/Picasa2Piwigo/Picasa2Piwigo/Form1Settings.Designer.cs	(revision 26935)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.3053
+//     Runtime Version:4.0.30319.2012
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -13,5 +13,5 @@
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
     internal sealed partial class Form1Settings : global::System.Configuration.ApplicationSettingsBase {
         
Index: /extensions/Picasa2Piwigo/Picasa2Piwigo/FormSettings.Designer.cs
===================================================================
--- /extensions/Picasa2Piwigo/Picasa2Piwigo/FormSettings.Designer.cs	(revision 26934)
+++ /extensions/Picasa2Piwigo/Picasa2Piwigo/FormSettings.Designer.cs	(revision 26935)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.3053
+//     Runtime Version:4.0.30319.2012
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -13,5 +13,5 @@
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
     internal sealed partial class FormSettings : global::System.Configuration.ApplicationSettingsBase {
         
Index: /extensions/Picasa2Piwigo/Picasa2Piwigo/Picasa2Piwigo.csproj
===================================================================
--- /extensions/Picasa2Piwigo/Picasa2Piwigo/Picasa2Piwigo.csproj	(revision 26934)
+++ /extensions/Picasa2Piwigo/Picasa2Piwigo/Picasa2Piwigo.csproj	(revision 26935)
@@ -1,4 +1,4 @@
 ﻿<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -14,4 +14,24 @@
     <FileAlignment>512</FileAlignment>
     <ApplicationIcon>Icon1.ico</ApplicationIcon>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -24,4 +44,5 @@
     <WarningLevel>4</WarningLevel>
     <UseVSHostingProcess>true</UseVSHostingProcess>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -32,4 +53,5 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <ItemGroup>
@@ -175,4 +197,21 @@
     <Content Include="Icon1.ico" />
   </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
Index: /extensions/Picasa2Piwigo/Picasa2Piwigo/StatusForm.cs
===================================================================
--- /extensions/Picasa2Piwigo/Picasa2Piwigo/StatusForm.cs	(revision 26934)
+++ /extensions/Picasa2Piwigo/Picasa2Piwigo/StatusForm.cs	(revision 26935)
@@ -616,11 +616,11 @@
 
             //if it's a video file then skip it
-            if (photofilename.IndexOf(".jpg", StringComparison.OrdinalIgnoreCase) == -1 &&
-                  photofilename.IndexOf(".gif", StringComparison.OrdinalIgnoreCase) == -1 &&
-                  photofilename.IndexOf(".png", StringComparison.OrdinalIgnoreCase) == -1 &&
-                  photofilename.IndexOf(".tga", StringComparison.OrdinalIgnoreCase) == -1 &&
-                  photofilename.IndexOf(".tif", StringComparison.OrdinalIgnoreCase) == -1 &&
-                  photofilename.IndexOf(".tiff", StringComparison.OrdinalIgnoreCase) == -1 &&
-                  photofilename.IndexOf(".psd", StringComparison.OrdinalIgnoreCase) == -1)
+            if (photofilename.ToLower().IndexOf(".jpg", StringComparison.OrdinalIgnoreCase) == -1 &&
+                  photofilename.ToLower().IndexOf(".gif", StringComparison.OrdinalIgnoreCase) == -1 &&
+                  photofilename.ToLower().IndexOf(".png", StringComparison.OrdinalIgnoreCase) == -1 &&
+                  photofilename.ToLower().IndexOf(".tga", StringComparison.OrdinalIgnoreCase) == -1 &&
+                  photofilename.ToLower().IndexOf(".tif", StringComparison.OrdinalIgnoreCase) == -1 &&
+                  photofilename.ToLower().IndexOf(".tiff", StringComparison.OrdinalIgnoreCase) == -1 &&
+                  photofilename.ToLower().IndexOf(".psd", StringComparison.OrdinalIgnoreCase) == -1)
             {
                 return face_tag_list;
@@ -642,97 +642,119 @@
 
             inifile = null;
-            try
-            {
-                inifile = new System.IO.StreamReader(filepath + "\\.picasa.ini");
-            }
-            catch
-            {
-                if (face_tag_list.Length > 1)
-                {
-                    face_tag_list = face_tag_list.Substring(0, face_tag_list.Length - 1);
-                }
-                return face_tag_list;
-            }
+            if (File.Exists(filepath + "\\.picasa.ini"))
+            {
+                try
+                {
+                    inifile = new System.IO.StreamReader(filepath + "\\.picasa.ini");
+                }
+                catch
+                {
+                    if (face_tag_list.Length > 1)
+                    {
+                        face_tag_list = face_tag_list.Substring(0, face_tag_list.Length - 1);
+                    }
+                    return face_tag_list;
+                }
+            }
+            else if (File.Exists(filepath + "\\Picasa.ini"))
+            {
+                try
+                {
+                    inifile = new System.IO.StreamReader(filepath + "\\Picasa.ini");
+                }
+                catch
+                {
+                    if (face_tag_list.Length > 1)
+                    {
+                        face_tag_list = face_tag_list.Substring(0, face_tag_list.Length - 1);
+                    }
+                    return face_tag_list;
+                }
+            } 
+            
             k = 0;
             found_photo = false;
-            while ((inidata = inifile.ReadLine()) != null)
-            {
-                if (inidata.Length > 4)
-                {
-                    if (inidata.Substring(0, 1) == "[")
-                    {
-                        found_photo = false;
-                        k = inidata.IndexOf("]");
-                        if (k != -1)
+            if (inifile != null)
+            {
+                while ((inidata = inifile.ReadLine()) != null)
+                {
+                    if (inidata.Length > 4)
+                    {
+                        if (inidata.Substring(0, 1) == "[")
                         {
-                            photo_file_name = inidata.Substring(1, k - 1);
-                        }
-                        if (photo_file_name != photofilename)
-                        {
-                            continue;
-                        }
-
-                        if (photo_file_name.IndexOf(".jpg", StringComparison.OrdinalIgnoreCase) != -1 ||
-                            photo_file_name.IndexOf(".gif", StringComparison.OrdinalIgnoreCase) != -1 ||
-                            photo_file_name.IndexOf(".png", StringComparison.OrdinalIgnoreCase) != -1 ||
-                            photo_file_name.IndexOf(".tga", StringComparison.OrdinalIgnoreCase) != -1 ||
-                            photo_file_name.IndexOf(".tif", StringComparison.OrdinalIgnoreCase) != -1 ||
-                            photo_file_name.IndexOf(".tiff", StringComparison.OrdinalIgnoreCase) != -1 ||
-                            photo_file_name.IndexOf(".psd", StringComparison.OrdinalIgnoreCase) != -1)
-                        {
-                            found_photo = true;
-                        }
-                    }
-                    else if (inidata.Substring(0, 6) == "faces=" && found_photo)
-                    {
-                        finished_faces = false;
-                        k = 0;
-                        do
-                        {
-                            k = inidata.IndexOf("),", k);
+                            found_photo = false;
+                            k = inidata.IndexOf("]");
                             if (k != -1)
                             {
-                                l = inidata.IndexOf(";", k);
-                                if (l == -1)
+                                photo_file_name = inidata.Substring(1, k - 1);
+                            }
+                            if (photo_file_name.ToUpper() != photofilename.ToUpper())
+                            {
+                                continue;
+                            }
+
+                            if (photo_file_name.ToLower().IndexOf(".jpg", StringComparison.OrdinalIgnoreCase) != -1 ||
+                                photo_file_name.ToLower().IndexOf(".gif", StringComparison.OrdinalIgnoreCase) != -1 ||
+                                photo_file_name.ToLower().IndexOf(".png", StringComparison.OrdinalIgnoreCase) != -1 ||
+                                photo_file_name.ToLower().IndexOf(".tga", StringComparison.OrdinalIgnoreCase) != -1 ||
+                                photo_file_name.ToLower().IndexOf(".tif", StringComparison.OrdinalIgnoreCase) != -1 ||
+                                photo_file_name.ToLower().IndexOf(".tiff", StringComparison.OrdinalIgnoreCase) != -1 ||
+                                photo_file_name.ToLower().IndexOf(".psd", StringComparison.OrdinalIgnoreCase) != -1)
+                            {
+                                found_photo = true;
+                            }
+                        }
+                        else if (inidata.Substring(0, 6) == "faces=" && found_photo)
+                        {
+                            finished_faces = false;
+                            k = 0;
+                            do
+                            {
+                                k = inidata.IndexOf("),", k);
+                                if (k != -1)
                                 {
-                                    l = inidata.Length;
-                                }
-                                if (l != -1)
-                                {
-                                    ini_unique_id = inidata.Substring(k + 2, l - k - 2);
-
-                                    //found face in a picture, but who?
-                                    l = 0;
-                                    found_person = false;
-                                    do
+                                    l = inidata.IndexOf(";", k);
+                                    if (l == -1)
                                     {
-                                        if (GlobalClass.picasa_unique_id_arrary[l].unique_id == ini_unique_id)
+                                        l = inidata.Length;
+                                    }
+                                    if (l != -1)
+                                    {
+                                        ini_unique_id = inidata.Substring(k + 2, l - k - 2);
+
+                                        //found face in a picture, but who?
+                                        l = 0;
+                                        found_person = false;
+                                        do
                                         {
-                                            //did we already find this person?
-                                            if (found_contact_in_photo_array[l] == false)
+                                            if (GlobalClass.picasa_unique_id_arrary[l].unique_id == ini_unique_id)
                                             {
-                                                found_person = true;
-                                                break;
+                                                //did we already find this person?
+                                                if (found_contact_in_photo_array[l] == false)
+                                                {
+                                                    found_person = true;
+                                                    break;
+                                                }
+                                            }
+                                            l++;
+                                        } while (l < GlobalClass.unique_id_count);
+
+                                        //found person
+                                        if (found_person)
+                                        {
+                                            if (photo_file_name.Length > 3)
+                                            {
+                                                face_tag_list += GlobalClass.contact_array[l].name + ",";
                                             }
                                         }
-                                        l++;
-                                    } while (l < GlobalClass.unique_id_count);
-
-                                    //found person
-                                    if (found_person)
-                                    {
-                                        if (photo_file_name.Length > 3)
-                                        {
-                                            face_tag_list += GlobalClass.contact_array[l].name + ",";
-                                        }
                                     }
+                                    k++;
                                 }
-                                k++;
-                            }
-                            else
-                            {
-                                finished_faces = true;
-                            }
-                        } while (!finished_faces);
+                                else
+                                {
+                                    finished_faces = true;
+                                }
+                            } while (!finished_faces);
+                        }
                     }
                 }
@@ -901,6 +923,16 @@
         {
             string WebResponse, WebRequest, xmlResponse;
-
-            WebRequest = FormSettings.Default.PiwigoUrlSetting + "/ws.php?method=pwg.categories.getList&fullname=\"true\"&recursive=\"false\"";
+            int piwigo_minor_version;
+
+            piwigo_minor_version = Convert.ToInt32(GlobalClass.PiwigoVersionNumber.Substring(2, 1));
+            if (piwigo_minor_version >= 6)
+            {
+                WebRequest = FormSettings.Default.PiwigoUrlSetting + "/ws.php?method=pwg.categories.getList&fullname=true&recursive=true";
+            }
+            else
+            {
+                WebRequest = FormSettings.Default.PiwigoUrlSetting + "/ws.php?method=pwg.categories.getList&fullname=\"true\"&recursive=\"false\"";
+            }
+
             WriteLog(WebRequest);
 
@@ -1409,5 +1441,5 @@
             string strLogFile;
 
-            strLogFile = "picasa2piwigo_log.txt";
+            strLogFile = "c:\\temp\\picasa2piwigo_log.txt";
 #pragma warning disable 0162
             if (constants.DEBUG_LOG_ENABLED)            
Index: /extensions/Picasa2Piwigo/Picasa2Piwigo/WinFormStrings.Designer.cs
===================================================================
--- /extensions/Picasa2Piwigo/Picasa2Piwigo/WinFormStrings.Designer.cs	(revision 26934)
+++ /extensions/Picasa2Piwigo/Picasa2Piwigo/WinFormStrings.Designer.cs	(revision 26935)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.3053
+//     Runtime Version:4.0.30319.2012
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -20,5 +20,5 @@
     // To add or remove a member, edit your .ResX file then rerun ResGen
     // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
