まず、私は WixSharp を初めて使用します。ここ数時間、次のようにセットアップ プロジェクト用にカスタム ファイル License.rtf を指定しようとしています。
project.LicenceFile = "License.rtf";
しかし、私はこのエラーを受け取り続けます:
C# Script execution engine. Version 3.9.4.1.
Copyright (C) 2004-2014 Oleg Shilo.
Error: Specified file could not be executed.
System.Xml.XmlException: The prefix '' cannot be redefined from 'http://schemas. microsoft.com/wix/2006/wi' to '' within the same start element tag.
at System.Xml.XmlWellFormedWriter.PushNamespaceExplicit(String prefix, String ns)
at System.Xml.XmlWellFormedWriter.WriteEndAttribute()
at System.Xml.Linq.ElementWriter.WriteStartElement(XElement e)
at System.Xml.Linq.ElementWriter.WriteElement(XElement e)
at System.Xml.Linq.XElement.WriteTo(XmlWriter writer)
at System.Xml.Linq.XContainer.WriteContentTo(XmlWriter writer)
at System.Xml.Linq.XDocument.WriteTo(XmlWriter writer)
at System.Xml.Linq.XDocument.Save(TextWriter textWriter, SaveOptions options)
at WixSharp.Compiler.BuildWxs(Project project, String path, OutputType type)
at WixSharp.Compiler.BuildWxs(Project project, OutputType type)
at WixSharp.Compiler.Build(Project project, String path, OutputType type)
at WixSharp.Compiler.Build(Project project, OutputType type)
at Script.Main(String[] args)
誰かが私が間違っていることを教えてください。ここに私のsetup.csコードがあります:
//css_dir ..\..\;
//css_ref Wix_bin\SDK\Microsoft.Deployment.WindowsInstaller.dll;
//css_ref System.Core.dll;
using System;
using System.Xml;
using System.Xml.Linq;
using System.Linq;
using System.Windows.Forms;
using Microsoft.Deployment.WindowsInstaller;
using Microsoft.Win32;
using WixSharp;
using WixSharp.CommonTasks;
class Script
{
static public void Main(string[] args)
{
var project =
new Project("myproduct",
new Dir(@"%ProgramFiles%\My Company\myproduct", new DirFiles(@"Files\*.*"),
new Dir("DataModel", new DirFiles(@"Files\Data\*.*"),new Dir("Music", new DirFiles(@"Files\Data\Music\*.*")),new Dir("CardPack", new DirFiles(@"Files\Data\CardPack\*.*")),new Dir("CardSingle", new DirFiles(@"Files\Data\CardSingle\*.*"))),
new ExeFileShortcut("Uninstall MyProduct", "[System64Folder]msiexec.exe", "/x [ProductCode]")),
new Dir(@"%AppDataFolder%\myproduct", new File(@"Files\Config\Configure.json"), new Dir("Folder1", new DirFiles(@"Files\Folder2\*.*"))));
project.LicenceFile = "License.rtf";
project.UI = WUI.WixUI_Minimal;
project.GUID = new Guid();
project.ResolveWildCards();
var exeFile = project.AllFiles.Single(f=>f.Name.EndsWith("myproduct.exe"));
exeFile.Shortcuts = new[] {
new FileShortcut("myproduct.exe", "INSTALLDIR"),
new FileShortcut("myproduct.exe", @"%Desktop%")
};
Compiler.BuildMsi(project);
}
}
前もって感謝します。