Try This
public static void setFolderIcon(string path, string iconPath, string folderToolTip)
{
/* Remove any existing desktop.ini */
if (File.Exists(path + @"\desktop.ini")) File.Delete(path + @"\desktop.ini");
/* Write the desktop.ini */
StreamWriter sw = File.CreateText(path + @"\desktop.ini");
sw.WriteLine("[.ShellClassInfo]");
sw.WriteLine("InfoTip=" + folderToolTip);
sw.WriteLine("IconFile=" + iconPath);
sw.WriteLine("IconIndex=0");
sw.Close();
sw.Dispose();
/* Set the desktop.ini to be hidden */
File.SetAttributes(path + @"\desktop.ini", File.GetAttributes(path + @"\desktop.ini") | FileAttributes.Hidden);
/* Set the path to system */
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.System);
}