public static int GetOSArchitecture(this OfficeClientEdition edition) { switch (edition) { //case CpuArchitecture.ARM: case OfficeClientEdition.X86: return(32); //case CpuArchitecture.ARM64: case OfficeClientEdition.X64: return(64); default: throw new NotSupportedException($"Not supported OfficeClientEdition: {edition}"); } }
private void SetClientEdition(XmlDocument doc, OfficeClientEdition edition) { var add = doc.SelectSingleNode("/Configuration/Add"); if (add == null) { return; } switch (edition) { case OfficeClientEdition.Office32Bit: SetAttribute(doc, add, "OfficeClientEdition", "32"); break; case OfficeClientEdition.Office64Bit: SetAttribute(doc, add, "OfficeClientEdition", "64"); break; } }
private void SetClientEdition(XmlDocument doc, OfficeClientEdition edition) { var add = doc.SelectSingleNode("/Configuration/Add"); if (add == null) return; switch (edition) { case OfficeClientEdition.Office32Bit: SetAttribute(doc, add, "OfficeClientEdition", "32"); break; case OfficeClientEdition.Office64Bit: SetAttribute(doc, add, "OfficeClientEdition", "64"); break; } }
private MsiDirectory GetSourceFiles(string sourcePath, string version = null, OfficeClientEdition officeClientEdition = OfficeClientEdition.Office32Bit) { var lstReturn = new MsiDirectory { RootPath = sourcePath, RelativePath = "", }; var dirInfo = new DirectoryInfo(sourcePath); var topFiles = dirInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly); foreach (var file in topFiles) { lstReturn.MsiFiles.Add(new MsiFile() {Path = file.FullName}); } foreach (var directory in dirInfo.GetDirectories()) { GetMsiDirectory(lstReturn, directory.FullName); } //foreach (var sourceFile in sourceFiles) //{ // if (!string.IsNullOrEmpty(version)) // { // if (!(sourceFile.FullName.ToLower().Contains(version.ToLower()) || // sourceFile.Name.ToLower() == "v32.cab" || // sourceFile.Name.ToLower() == "v64.cab")) // { // continue; // } // } // if (officeClientEdition == OfficeClientEdition.Office32Bit) // { // if (sourceFile.Name.ToLower().Contains(".x64.")) // { // continue; // } // } // else // { // if (sourceFile.Name.ToLower().Contains(".x86.")) // { // continue; // } // } // lstReturn.Add(sourceFile.FullName); //} return lstReturn; }
private MsiDirectory GetSourceFiles(string sourcePath, string version = null, OfficeClientEdition officeClientEdition = OfficeClientEdition.Office32Bit) { var lstReturn = new MsiDirectory { RootPath = sourcePath, RelativePath = "", }; var dirInfo = new DirectoryInfo(sourcePath); var topFiles = dirInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly); foreach (var file in topFiles) { lstReturn.MsiFiles.Add(new MsiFile() { Path = file.FullName }); } foreach (var directory in dirInfo.GetDirectories()) { GetMsiDirectory(lstReturn, directory.FullName); } //foreach (var sourceFile in sourceFiles) //{ // if (!string.IsNullOrEmpty(version)) // { // if (!(sourceFile.FullName.ToLower().Contains(version.ToLower()) || // sourceFile.Name.ToLower() == "v32.cab" || // sourceFile.Name.ToLower() == "v64.cab")) // { // continue; // } // } // if (officeClientEdition == OfficeClientEdition.Office32Bit) // { // if (sourceFile.Name.ToLower().Contains(".x64.")) // { // continue; // } // } // else // { // if (sourceFile.Name.ToLower().Contains(".x86.")) // { // continue; // } // } // lstReturn.Add(sourceFile.FullName); //} return(lstReturn); }
private long CalcSize(CompilerParameters parameters, string sourcePath, string version = null, OfficeClientEdition officeClientEdition = OfficeClientEdition.Office32Bit) { long runningTotalFileSize = 0; var xmlFilePath = DirectoryHelper.GetCurrentDirectoryFilePath("Files.xml"); var dirInfo = new DirectoryInfo(sourcePath); var sourceFiles = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); var fileCacher = new FilePathCacher(xmlFilePath); foreach (var sourceFile in sourceFiles) { if (!string.IsNullOrEmpty(version)) { if (!(sourceFile.FullName.ToLower().Contains(version.ToLower()) || sourceFile.Name.ToLower() == "v32.cab" || sourceFile.Name.ToLower() == "v64.cab")) { continue; } } if (officeClientEdition == OfficeClientEdition.Office32Bit) { if (sourceFile.Name.ToLower().Contains(".x64.")) { continue; } } else { if (sourceFile.Name.ToLower().Contains(".x86.")) { continue; } } //fileCacher.AddFile(dirInfo.Parent.FullName, sourceFile.FullName); //parameters.EmbeddedResources.Add(sourceFile.FullName); FileInfo file = new FileInfo(sourceFile.FullName); runningTotalFileSize += file.Length; } //parameters.EmbeddedResources.Add(xmlFilePath); return(runningTotalFileSize); }
private void EmbedSourceFiles(CompilerParameters parameters, string sourcePath, string version = null, OfficeClientEdition officeClientEdition = OfficeClientEdition.Office32Bit) { var embedFileList = new List <string>(); var xmlFilePath = DirectoryHelper.GetCurrentDirectoryFilePath("Files.xml"); var dirInfo = new DirectoryInfo(sourcePath); var sourceFiles = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); var fileCacher = new FilePathCacher(xmlFilePath); foreach (var sourceFile in sourceFiles) { if (!string.IsNullOrEmpty(version)) { if (!(sourceFile.FullName.ToLower().Contains(version.ToLower()) || sourceFile.Name.ToLower() == "v32.cab" || sourceFile.Name.ToLower() == "v64.cab")) { continue; } } if (officeClientEdition == OfficeClientEdition.Office32Bit) { if (sourceFile.Name.ToLower().Contains(".x64.")) { continue; } } else { if (sourceFile.Name.ToLower().Contains(".x86.")) { continue; } } if (embedFileList.Contains(sourceFile.Name, StringComparer.CurrentCultureIgnoreCase)) { sourceFile.CopyTo(sourceFile.DirectoryName + "\\copyof" + sourceFile.Name, true); fileCacher.AddFile(dirInfo.Parent.FullName, sourceFile.DirectoryName + "\\copyof" + sourceFile.Name); parameters.EmbeddedResources.Add(sourceFile.DirectoryName + "\\copyof" + sourceFile.Name); filesMarkedForDelete.Add(new FileInfo(sourceFile.DirectoryName + "\\copyof" + sourceFile.Name)); } else { fileCacher.AddFile(dirInfo.Parent.FullName, sourceFile.FullName); parameters.EmbeddedResources.Add(sourceFile.FullName); } embedFileList.Add(sourceFile.Name); } parameters.EmbeddedResources.Add(xmlFilePath); }
private long CalcSize(CompilerParameters parameters, string sourcePath, string version = null, OfficeClientEdition officeClientEdition = OfficeClientEdition.Office32Bit) { long runningTotalFileSize = 0; var xmlFilePath = DirectoryHelper.GetCurrentDirectoryFilePath("Files.xml"); var dirInfo = new DirectoryInfo(sourcePath); var sourceFiles = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); var fileCacher = new FilePathCacher(xmlFilePath); foreach (var sourceFile in sourceFiles) { if (!string.IsNullOrEmpty(version)) { if (!(sourceFile.FullName.ToLower().Contains(version.ToLower()) || sourceFile.Name.ToLower() == "v32.cab" || sourceFile.Name.ToLower() == "v64.cab")) { continue; } } if (officeClientEdition == OfficeClientEdition.Office32Bit) { if (sourceFile.Name.ToLower().Contains(".x64.")) { continue; } } else { if (sourceFile.Name.ToLower().Contains(".x86.")) { continue; } } //fileCacher.AddFile(dirInfo.Parent.FullName, sourceFile.FullName); //parameters.EmbeddedResources.Add(sourceFile.FullName); FileInfo file = new FileInfo(sourceFile.FullName); runningTotalFileSize += file.Length; } //parameters.EmbeddedResources.Add(xmlFilePath); return runningTotalFileSize; }
private void EmbedSourceFiles(CompilerParameters parameters, string sourcePath, string version = null, OfficeClientEdition officeClientEdition = OfficeClientEdition.Office32Bit) { var embedFileList = new List<string>(); var xmlFilePath = DirectoryHelper.GetCurrentDirectoryFilePath("Files.xml"); var dirInfo = new DirectoryInfo(sourcePath); var sourceFiles = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); var fileCacher = new FilePathCacher(xmlFilePath); foreach (var sourceFile in sourceFiles) { if (!string.IsNullOrEmpty(version)) { if (!(sourceFile.FullName.ToLower().Contains(version.ToLower()) || sourceFile.Name.ToLower() == "v32.cab" || sourceFile.Name.ToLower() == "v64.cab")) { continue; } } if (officeClientEdition == OfficeClientEdition.Office32Bit) { if (sourceFile.Name.ToLower().Contains(".x64.")) { continue; } } else { if (sourceFile.Name.ToLower().Contains(".x86.")) { continue; } } if (embedFileList.Contains(sourceFile.Name, StringComparer.CurrentCultureIgnoreCase)) { sourceFile.CopyTo(sourceFile.DirectoryName + "\\copyof" + sourceFile.Name, true); fileCacher.AddFile(dirInfo.Parent.FullName, sourceFile.DirectoryName + "\\copyof" + sourceFile.Name); parameters.EmbeddedResources.Add(sourceFile.DirectoryName + "\\copyof" + sourceFile.Name); filesMarkedForDelete.Add(new FileInfo(sourceFile.DirectoryName + "\\copyof" + sourceFile.Name)); } else { fileCacher.AddFile(dirInfo.Parent.FullName, sourceFile.FullName); parameters.EmbeddedResources.Add(sourceFile.FullName); } embedFileList.Add(sourceFile.Name); } parameters.EmbeddedResources.Add(xmlFilePath); }