string GenerateUniqueIdByAppendingNumberToFileNameId(string fileNameId) { string id = String.Empty; int count = 0; string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileNameId); string extension = Path.GetExtension(fileNameId); do { ++count; id = String.Concat(fileNameWithoutExtension, count, extension); } while (OwnerWixDocument.FileIdExists(id)); return(id); }
/// <summary> /// Generates a unique id for the entire document that this file element /// belongs to. /// </summary> /// <param name="parentDirectory">The full path of the parent directory /// for the filename.</param> /// <param name="fileName">The name of the file to generate a unique /// id for. This does not include any path.</param> string GenerateUniqueId(string parentDirectory, string fileName) { string id = GenerateId(fileName); if (!OwnerWixDocument.FileIdExists(id)) { return(id); } id = GenerateIdFromParentDirectory(parentDirectory, id); if (!OwnerWixDocument.FileIdExists(id)) { return(id); } return(GenerateUniqueIdByAppendingNumberToFileNameId(id)); }