Home All Groups Group Topic Archive Search About
Author
4 Oct 2006 1:05 PM
sdc
How can I install a new TrueType font using my web application ClickOnce button ?

I tried to copy and write file in system directory.  i am able to copy and write file in user directory but i am not able to write font file in C:\windows\fonts.if there is no direct way to install with ClickOnce, any advice on doing the work from C# would be appreciated.

my code is

public static void Copy(string SourcePath, string DestinationPath, bool Overwrite)
        {
            Copy(new DirectoryInfo(SourcePath.Trim()), new DirectoryInfo(DestinationPath.Trim()), null, null, Overwrite);
        }

public static void Copy(string SourcePath, string DestinationPath, string SourceFileFilter, bool Overwrite)
        {
            Copy(new DirectoryInfo(SourcePath.Trim()), new DirectoryInfo(DestinationPath.Trim()), null, SourceFileFilter, Overwrite);

public static void Copy(string SourcePath, string DestinationPath, string SourceDirectoryFilter, string SourceFileFilter, bool Overwrite)
        {
            Copy(new DirectoryInfo(SourcePath.Trim()), new DirectoryInfo(DestinationPath.Trim()), SourceDirectoryFilter, SourceFileFilter, Overwrite);
        }


        public static void Copy(DirectoryInfo SourceDirectory, DirectoryInfo DestinationDirectory, bool Overwrite)
        {
            Copy(SourceDirectory, DestinationDirectory, null, null, Overwrite);
        }

                public static void Copy(DirectoryInfo SourceDirectory, DirectoryInfo DestinationDirectory, string SourceFileFilter, bool Overwrite)
        {
            Copy(SourceDirectory, DestinationDirectory, null, SourceFileFilter, Overwrite);
        }
        public static void Copy(DirectoryInfo SourceDirectory, DirectoryInfo DestinationDirectory, string SourceDirectoryFilter, string SourceFileFilter, bool Overwrite)
        {
            DirectoryInfo[] SourceSubDirectories;
            FileInfo[] SourceFiles;

                        if (SourceFileFilter != null)
                SourceFiles = SourceDirectory.GetFiles(SourceFileFilter.Trim());
            else
                SourceFiles = SourceDirectory.GetFiles();

            //Check for Folder Filter
            if (SourceDirectoryFilter != null)
                SourceSubDirectories = SourceDirectory.GetDirectories(SourceDirectoryFilter.Trim());
            else
                SourceSubDirectories = SourceDirectory.GetDirectories();

            //Create the Destination Directory
            if (!DestinationDirectory.Exists) DestinationDirectory.Create();

            //Recursively Copy Every SubDirectory and it's Contents (according to folder filter)
            foreach (DirectoryInfo SourceSubDirectory in SourceSubDirectories)
                Copy(SourceSubDirectory, new DirectoryInfo(DestinationDirectory.FullName + @"\" + SourceSubDirectory.Name), SourceDirectoryFilter, SourceFileFilter, Overwrite);

            //Copy Every File to Destination Directory (according to file filter)
            foreach (FileInfo SourceFile in SourceFiles)
                SourceFile.CopyTo(DestinationDirectory.FullName + @"\" + SourceFile.Name, Overwrite);
        }
        public void Button1_Click(object sender, System.EventArgs e)
        {
           //copyDirectory(" " + tbxSourceDir.Text  +"","" + tbxDestinationDir.Text  +"");
            // Copy("D:\\Font","C:\\WINDOWS\\Fonts\\Add_File",true);

            //Copy("D:\\Font","D:\\Backup Rakesh\\Others\\Certi_new\\copy_file\\Neelendra",true);

            Copy("D:\\Font","C:\\WINDOWS\\Fonts\\Neelendra",true);
        }

AddThis Social Bookmark Button