void NewPackage() { this.Text = Program.AppTitle + " (Untitled)"; CurrentFile = ""; Package = new PKGRootData(); Package.Folders = new List <PKGFolder>(); Package.Files = new List <PKGFile>(); Package.Description = ""; Package.Title = "new package"; Package.HeaderID = "FoxPackageScriptV1"; Package.Outputfile = "New Package.foxpkg"; Package.Script = Resources.PackageScriptTemplate; Package.PackageID = Guid.NewGuid().ToString(); Package.NoReceipt = false; Package.VersionID = 1; PackageDataUtilities.AddNewFolder(Package, "%SYSTEMROOT%"); PackageDataUtilities.AddNewFolder(Package, "%SYSTEMROOT%\\SYSTEM32"); PackageDataUtilities.AddNewFolder(Package, "%USERPROFILE%"); PackageDataUtilities.AddNewFolder(Package, "%TEMP%"); PackageDataUtilities.AddNewFolder(Package, "%PUBLIC%"); PackageDataUtilities.AddNewFolder(Package, "%PROGRAMFILES%"); PackageDataUtilities.AddNewFolder(Package, "%PROGRAMDATA%"); PackageDataUtilities.AddNewFolder(Package, "%LOCALAPPDATA%"); PackageDataUtilities.AddNewFolder(Package, "%APPDATA%"); PackageDataUtilities.AddNewFolder(Package, "%COMMONPROGRAMFILES%"); PackageDataUtilities.AddNewFolder(Package, "%INSTALLPATH%"); Directory.SetCurrentDirectory(Program.AppPath); }
public static PKGFolder Findfolder(PKGRootData Package, string Folder) { foreach (PKGFolder fldr in Package.Folders) { if (fldr.FolderName.ToLower() == Folder.ToLower()) { return(fldr); } } return(null); }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { if (AskSave() == false) { return; } OpenFileDialog cmdlg = new OpenFileDialog(); cmdlg.Title = "Open Package Script"; cmdlg.Filter = "Fox Package Script|*.foxps"; cmdlg.DefaultExt = ".foxps"; cmdlg.CheckPathExists = true; cmdlg.CheckFileExists = true; if (cmdlg.ShowDialog(this) != System.Windows.Forms.DialogResult.OK) { return; } string data = ""; try { data = File.ReadAllText(cmdlg.FileName, Encoding.UTF8); Directory.SetCurrentDirectory(Path.GetDirectoryName(cmdlg.FileName)); } catch (Exception ee) { MessageBox.Show(this, "Cannot read the file \n" + cmdlg.FileName + "\n" + ee.Message, Program.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } try { PKGRootData r = JsonConvert.DeserializeObject <PKGRootData>(data); if (r.HeaderID != "FoxPackageScriptV1") { MessageBox.Show(this, "The file " + cmdlg.FileName + " is not a valid Package Script", Program.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } Package = r; CurrentFile = cmdlg.FileName; this.Text = Program.AppTitle + " (" + CurrentFile + ")"; LoadPackage(); } catch (Exception ee) { Debug.WriteLine(ee.ToString()); MessageBox.Show(this, "The file " + cmdlg.FileName + " cannot be parsed.", Program.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } }
public static void AddNewFile(PKGRootData Package, PKGFile file) { if (file.FileName.Trim() == "") { return; } if (file.SrcFile.Trim() == "") { return; } if (file.FolderName.EndsWith("\\") == false) { file.FolderName += "\\"; } AddNewFolder(Package, file.FolderName); Package.Files.Add(file); }
public static void AddNewFolder(PKGRootData Package, string FullFoldername) { if (FullFoldername.EndsWith("\\") == false) { FullFoldername += "\\"; } foreach (PKGFolder f in Package.Folders) { if (f.FolderName.Trim().ToLower() == FullFoldername.Trim().ToLower()) { return; } } Debug.WriteLine("MKDIR: " + FullFoldername); PKGFolder nf = new PKGFolder(); nf.FolderName = FullFoldername.Trim(); Package.Folders.Add(nf); }
public static void DeleteFolder(PKGRootData Package, string FullFoldername) { Debug.WriteLine("DELTREE: " + FullFoldername); if (FullFoldername.EndsWith("\\") == false) { FullFoldername += "\\"; } List <PKGFolder> RM = new List <PKGFolder>(); List <PKGFile> RM2 = new List <PKGFile>(); foreach (PKGFolder f in Package.Folders) { if (f.FolderName.ToLower().StartsWith(FullFoldername.ToLower()) == true) { RM.Add(f); } } foreach (PKGFile f in Package.Files) { if (f.FolderName.ToLower().StartsWith(FullFoldername.ToLower()) == true) { RM2.Add(f); } } foreach (PKGFolder f in RM) { Package.Folders.Remove(f); } foreach (PKGFile f in RM2) { Package.Files.Remove(f); } }
public static void RenameFolder(PKGRootData Package, string FullFoldername, string NewName) { Debug.WriteLine("REN: " + FullFoldername + " => " + NewName); if (FullFoldername.EndsWith("\\") == true) { FullFoldername = FullFoldername.Substring(0, FullFoldername.Length - 1); } string FullNewName = ""; if (FullFoldername.LastIndexOf("\\") == -1) { FullNewName = NewName; } else { FullNewName = FullFoldername.Substring(0, FullFoldername.LastIndexOf("\\")) + "\\" + NewName; } Debug.WriteLine("RENF: " + FullFoldername + " => " + FullNewName); foreach (PKGFolder f in Package.Folders) { if (f.FolderName.StartsWith(FullFoldername) == true) { f.FolderName = FullNewName + f.FolderName.Substring(FullFoldername.Length, f.FolderName.Length - FullFoldername.Length); } } foreach (PKGFile f in Package.Files) { if (f.FolderName.StartsWith(FullFoldername) == true) { f.FolderName = FullNewName + f.FolderName.Substring(FullFoldername.Length, f.FolderName.Length - FullFoldername.Length); } } }
public frmCompilePackage(PKGRootData package) { Package = package; InitializeComponent(); }