WiXinstallermsi不安装用VisualStudio2017创建的Winform应用程序为了简单测试,我创建了一个简单的Winform应用程序创建了一个Wix安装程序应用程序,如下所示。但是当我运行用安装程序创建的msi时,它只运行了一秒钟就退出了,没有安装Winform应用程序。问题:这里有什么问题?我的Product.wxs文件似乎缺少某些内容。注意:我正在使用VS2017产生问题的步骤从此处安装Wix工具集VisualStudio2017扩展并按照其说明从此处安装WiX3.11RC2创建了一个默认的Winform项目[只是添加了一个表单]在相同的解决方案中使用Toolsetv3Setup项目模板创建Wix安装项目,在WiX安装项目中添加对Winform项目的引用,构建整个解决方案。右键单击安装项目并重建它在..binDebug文件夹中创建.msi文件双击步骤6中的.msi文件。该文件运行一秒钟,然后出现Windows10安装对话框(与任何安装中出现的一样,询问如果你想安装这个程序)。我点击了是。安装程序再次运行一秒钟然后退出。但是未安装Winform应用程序。默认Product.wxs文件[除了向Manufacturer属性添加值外,我没有添加任何内容]“HelloWiX”(请使用透明铝)我认为你需要它是“HelloWorld”,来自CodeProject的WiX。现在已经很老了,但仍然擅长向您展示编译MSI的基础知识。更新:下面我添加了有关如何从新的WiX3VisualStudio项目编译MSI的分步说明。这是另一个关于WiX实际情况的答案:MSIvs.nugetpackages:whichisbetterforcontinuousdelivery?.您还可以在此处找到指向“helloworld”的链接以及其他几个链接。摘要:检查WiX的“helloworld”的第一个链接。然后用一些测试组件更新您的源代码并重新编译。您应该掌握Orca(SDK工具)才能查看已编译的MSI文件。由于您安装了VisualStudio,请尝试搜索Orca-x86_en-us.msi并安装它(这是Microsoft自己的官方MSI查看器和编辑器)。然后在开始菜单中找到Orca。从技术上讲,Orca作为WindowsSDK(而非VisualStudio)的一部分安装,但WindowsSDK与VisualStudio安装捆绑在一起。获得编译的MSI文件后,只需右键单击它并选择使用Orca编辑。在这样的文件真正有意义之前需要一些经验。本质上,它是存储在COM结构化存储文件(OLE)中的原始MSSQL数据库。本质上是文件中的文件系统,包含不同内容的流(例如文件和数据表等)。只需将其视为具有正常参照完整性的数据库,并首先关注核心表,如File和Component。最小的WiXMSI编译-分步让我带您了解在新制作的WiX3项目中您可以做什么来使用默认的WiXGUI进行编译。您可以在答案的最后部分将这些更改“合并”到一个完整的示例中,但请逐步阅读此部分以了解情况。创建一个新的WiX3项目。你知道怎么做,我不会浪费时间去讨论细节。将Manufacturer属性设置为您的公司名称。现在,将您选择的新名称设置为Name属性。在这个例子中,它被设置为MinimalTester-请使用其他东西。更改为在MSI中使用嵌入式cab文件。这样只会创建MSI,不会创建其他外部CAB文件。添加:直接在MediaTemplate元素之后。这将为您的MSI添加一个默认的WiX对话框,因此它具有更普遍有用的基础知识。您现在可以使用向导运行修复,根据大多数MSI文件从Installshield或AdvancedInstaller或其他专业工具提供的内容修改并获得原始安装。至关重要的是:您的管理安装将有一个对话框,您可以在其中指定应将文件提取到的位置。我们将自己的许可协议添加到WiX设置中(否则您会得到一个笨拙的默认协议)。直接在里面添加以下元素:.现在创建文件TestLicenseAgreement.rtf并将其放在与主WiX源文件相同的文件夹中(快速方法:在VisualStudio中,右键单击项目并“在文件资源管理器中打开文件夹”,现在右键单击“创建RTF文件”=>新建=>RTF文件。也许打开RTF并输入一些测试文本)。对话框的进一步定制(位图等)。WiX对话框集定义在一个dll中,我们需要引用它。在VisualStudioWiX项目中:右键单击References=>AddReference...=>NavigatetoC:ProgramFiles(x86)WiXToolsetv3.11bin。双击WixUIExtension.dll,最后单击确定。现在在WiX中添加绝对最小组件并指定绝对路径作为源。这是为了确保您可以编译MSI。之后您可以将路径设置为相对路径或变量(现在直接在INSTALLFOLDER目录元素中):最后右键单击解决方案中的WiX项目并选择构建。您可以通过右键单击WiX项目并单击文件资源管理器中的打开文件夹来快速测试运行MSI。现在双击bin,然后双击Debug(如果切换到发布版本,则为Release-不确定两种配置之间的“默认差异”)。您应该在对话框序列的第二个对话框中看到您自己的许可协议。WiX的更高版本几乎对总是设置为“模板值”的属性有一个很好的默认值,或者这两个属性本质上都是冗余的很有用。只需从源代码中删除它们,然后让WiX编译器使用默认值添加它们。别大惊小怪。例如:上述元素缺少组件ID。在编译期间,它默认为它包含的File元素的Id。File元素Id依次出现,默认为Source属性(必需属性)指定的文件名。也许看看这个答案以获得更长的描述和底部的具体示例:SyntaxforguidsinWIX?删除某些属性的冗余和重复后,您的WiX源文件有多简单?更少的文字,更少的错误。示例最小WiX源-内联注释在下面的示例中,组件已移至默认的ComponentGroup-因此无需指定它属于哪个函数(与上面不同)。-->添加参考...=>导航到C:ProgramFiles(x86)WiXToolsetv3.11bin。双击WixUIExtension.dll。单击确定-->尝试编译并测试安装。它应该安装到正常系统上的C:ProgramFiles(x86)MinimalTester。也许可以在此处查看更多WiX教程链接:WIXInstallerdoesn'tdisplaycustomimagesforWixUIdialogscorrectly。试试这个:https://github.com/iswix-llc/iswix-tutorialshttps://www.youtube.com/watch?v=nnV_OU6fk8c免责声明:我是IsWiX的维护者,一个FOSSWiX加速器,提供增强项目模板(脚手架)和图形设计器,为您完成大部分WiXXML繁重的工作。从视频中可以看出,这很简单,只需几分钟的工作。以上是C#学习教程:WiX安装程序msi并没有安装使用VisualStudio2017创建的Winform应用程序共享的所有内容,如果对你有用,需要进一步了解C#学习教程,希望你会多多关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
