Localization WiX工具集设置的结果应为EXE和MSI
我使用Visual Studio 2013和WiX Toolset 3.9为我的C#项目进行了MSI设置。 结果是一个工作正常的MSI文件 但是我还需要一个EXE文件(应该做同样的事情,MSI文件做什么),因为许多用户不知道MSI是什么 当输出类型为“MSI”时,我可以编译这个项目。当我将输出类型设置为“EXE”时,会出现以下错误: “本地化标识符“ServiceDescription”在多个位置重复。请解决冲突。” 这是因为我有两个WXL文件(一个用于英语,一个用于德语),它们具有相同的字符串ID 我不明白为什么MSI的编译可以工作,但是EXE的编译不能工作 我的第二个问题是,我同时需要MSI和EXE。所以,如果我编译这个项目,我会让这两个文件都自动化。我不想先编译MSI,手动更改输出类型,然后编译EXELocalization WiX工具集设置的结果应为EXE和MSI,localization,wix,windows-installer,exe,Localization,Wix,Windows Installer,Exe,我使用Visual Studio 2013和WiX Toolset 3.9为我的C#项目进行了MSI设置。 结果是一个工作正常的MSI文件 但是我还需要一个EXE文件(应该做同样的事情,MSI文件做什么),因为许多用户不知道MSI是什么 当输出类型为“MSI”时,我可以编译这个项目。当我将输出类型设置为“EXE”时,会出现以下错误: “本地化标识符“ServiceDescription”在多个位置重复。请解决冲突。” 这是因为我有两个WXL文件(一个用于英语,一个用于德语),它们具有相同的字符串
那么我做错了什么呢?我不理解你需要一个EXE的问题陈述,因为人们不知道MSI是什么。MSI已经问世16年了,并在全世界使用。这对我来说没有意义 根据我的经验,我只在真正需要EXE时才使用它。如果你只需要MSI,那么使用MSI就更简单了 执行EXE的可能原因包括: 1) 需要引导/链接其他包 2) 想要一个更好的非MSI用户界面吗 3) 想要一个提示选择语言的UI吗 4) 要在本地缓存MSI吗 5) 要检测早期版本并传递次要升级命令行参数吗 6) 想要提前询问UAC标高(不是最佳做法) 7) 您需要多实例服务功能 8) 您希望有一个web下载程序,可以根据需要从internet上下载软件包 9) 您希望对MSI进行密码保护/加密 10) 其他可能不记得的场景 一般来说,您并不总是需要一个EXE来拥有一个EXE。事实上,设计和测试在你选择的那一刻变得更加复杂
如果需要EXE,请首先构建安装项目(输出:MSI),然后构建基于WiX Burn的引导程序项目(输出:EXE)Thx以获取答案。大多数用户都知道像“setup.exe”这样的文件,因为他们每次从internet下载程序时都会得到它(或者在每个安装cd/dvd上都能找到)。他们中的大多数人不知道,他们可以使用msi文件,比如setup.exe。MSI更适合使用自动化软件部署的管理员。我不认为,我需要引导者。我可以指定msi安装项目的输出类型。如果这不是正确的方法,为什么我可以选择输出类型?我只需要在我的msi.ya上有一个exe包装器之类的东西,这叫做引导程序。并非每次从internet下载程序时都会获得setup.exe。从20世纪90年代开始就没有了。你会发现对EXE包装的要求比你想象的要复杂得多。您不想中断升级、静默安装、日志记录、传递属性等等。一个好的引导者已经考虑到了这一切。你能告诉我,这是为了什么吗!这确实是另一个问题,但我会在这里回答,因为我知道你为什么要问这个问题,而不是你认为的问题。它是.wixproj项目的4种输出类型之一。.EXE输出类型用于创建刻录引导程序。每种输出类型都有不同的XML要求。MSI需要wix/产品。MSM需要wix/模块和wix/捆绑。将MSI转换为EXE并非易事。您需要一个项目来构建MSI,另一个项目来使用它并构建引导程序EXE。