public bool Run(PhactoryHost.Database.Resource resource) { PhactoryHost.Database.Resource parentResource = Host.GetResource(resource.IdDependencies[0]); Document.Document document = Host.XMLRead <Document.Document>(Host.GetFileInfo(parentResource).FullName); string fileToExecute = ""; foreach (Document.Item item in document.Items) { if (item.ExecAdress != 0) { fileToExecute = item.AmsdosFilename; } } string DSKFilename = Host.GetFileInfo(resource).FullName; DSKFilename = DSKFilename.Replace(".cpcdsk", ".dsk"); FileInfo DSKFileInfo = new FileInfo(DSKFilename); string WinAPEFullPath = Host.GetPluginsPath() + "WinAPE.exe"; string arguments = "\"" + DSKFileInfo.FullName + "\" /A"; if (Host.IsVerboseOutput()) { Host.Log(WinAPEFullPath + " " + arguments); } return(Host.StartAndWaitAfterProcess(WinAPEFullPath, arguments, DSKFileInfo.DirectoryName)); }