Пример #1
0
        public byte[] PackFiles(BuildForm bf, double remainingProgress)
        {
            byte[] ret = new byte[0];
            byte[] tmp;
            double baseProgress = bf.CurrentProgress();

            int iFile = 0;

            foreach (InstallerFile file in _objConfig.GetFiles())
            {
                if (!System.IO.File.Exists(file.LocalPath))
                {
                    Globals.Throw("The file " + file.LocalPath + " does not seem to exist, or there is a lock preventing Spark from reading it.  Skip Failures is not set to true. Spark will now exit.");
                }

                bf.DetailMessage("Packing: " + file.LocalPath);

                Globals.Logger.LogInfo("Packing " + file.LocalPath);
                tmp = System.IO.File.ReadAllBytes(file.LocalPath);
                ret = BufferUtils.Combine(ret, tmp);

                iFile++;

                double progress = baseProgress +
                                  ((double)iFile / (double)_objConfig.GetFiles().Count) * (1.0 - baseProgress - remainingProgress);

                bf.Progress(progress);
            }
            return(ret);
        }
Пример #2
0
 private void BuildPostfixedBinary(BuildForm bf)
 {
     byte[] temp;
     bf.DetailMessage("Building Binary.");
     temp   = InstallerBinary.GetBytes();
     _final = BufferUtils.Combine(_final, temp);
     Globals.Logger.LogInfo("Binary:" + temp.Length.ToString() + "B Total:" + _final.Length.ToString() + "B");
     bf.Progress(0.03);
 }
Пример #3
0
 private void BuildFileTable(BuildForm bf)
 {
     byte[] temp;
     bf.DetailMessage("Building File Table.");
     temp   = _objFileTable.Build(_final.Length);
     _final = BufferUtils.Combine(_final, temp);
     Globals.Logger.LogInfo("FileTable:" + temp.Length.ToString() + "B Total:" + _final.Length.ToString() + "B");
     bf.Progress(0.12);
 }
Пример #4
0
 private void BuildConfig(BuildForm bf)
 {
     byte[] temp;
     bf.DetailMessage("Building Config.");
     temp   = _objConfig.Serialize();
     _final = BufferUtils.Combine(_final, temp);
     Globals.Logger.LogInfo("Config:" + temp.Length.ToString() + "B Total:" + _final.Length.ToString() + "B");
     bf.Progress(0.05);
 }
Пример #5
0
        private void BuildFiles(BuildForm bf)
        {
            double remainingProgress = 0.02;

            byte[] temp;
            bf.DetailMessage("Building Files.");
            temp   = _objFileTable.PackFiles(bf, remainingProgress);
            _final = BufferUtils.Combine(_final, temp);
            Globals.Logger.LogInfo("Files:" + temp.Length.ToString() + "B Total:" + _final.Length.ToString() + "B");
            bf.Progress(1.0 - remainingProgress);
        }
Пример #6
0
 private void WriteFile(BuildForm bf)
 {
     bf.DetailMessage("Saving " + SparkGlobals.OutputFile + ".");
     System.IO.File.WriteAllBytes(SparkGlobals.OutputFile, _final);
     bf.Progress(1.0);
 }