有没有办法获取/枚举使用msiexec传递的属性?如果属性拼写错误,我需要显示错误。 最佳答案 出于某种原因,WindowsInstaller从未实现属性枚举功能。您可以查询属性表,但这只会在构建时获取表中定义的属性。我知道没有办法做你想做的事。我最好的解决方法是使用EXEBootstrap将MSI置于前端并在那里进行检查。然后,您可以将EXEDRIVEN=1之类的内容传递给您的MSI,然后让您的MSI门检查该属性。另一个想法是使用CLIENTPROCESSID在自定义操作中查询Win32_Process。
我正在尝试创建新目录并以编程方式设置权限。我已经能够创建目录,为单个用户和组应用权限,并更新大多数继承和传播设置。但是,我无法使用代码检查WindowGUI界面中的Includeinheritablepermissionsfromthisobject'sparent选项(见下文)。我试过使用Inheritance和Propogation标志的替代值,以及SetAccessRuleProtection参数,但我似乎找不到任何有效的排列。代码示例:usingSystem.Security.AccessControl;//...stringdir=@"C:\MyTestFolder";Dir
我有一个链接2个MSI文件的设置:安装我的产品的x86/x64MSI文件。部署第三方工具包的x86MSI文件我希望第二个MSI文件使用相同的安装目录,因此MSI文件1将用户选择的目录存储在注册表中,然后MSI文件2读取该目录并将其用作其目标。很好,花花公子-如果我将MSI文件1安装到C:\Test\没问题-MSI文件2选择它并将工具包放入该文件夹。但是,当我安装到C:\ProgramFiles时......然后MSI文件2变得有点聪明,并决定我一定是指C:\ProgramFiles(x86)并将工具放在那里-有点乱。它在执行时会记录此信息:Actionstart16:53:59:App
所以,基本上我拥有的是Wix安装程序,它经过修改,目前我遇到了注册表项问题。在安装过程中,安装程序有一个自定义对话框,用户必须在其中选择/插入第二个路径。这将存储在注册表中。但是它没有插入用户输入的内容,而是插入了“[INSTALLFOLDER]”,尽管它看起来应该类似于“C:\ProgramFiles...”。我做了一些研究,但没有找到任何可以帮助我的东西。所有代码都在同一个文件中。代码的主要部分在这里,首先是这个属性。稍后应将其写入注册表。稍后是自定义窗口。1下面是这个发布部分......1111这对我有用。我将guid替换为“原因”。注册表路径和其他一切似乎都很好,只有一件事不起
我在我的Bootstrapper(Wix3.9版本)中使用以下FileSearch,它总是返回false,即使文件存在:...日志文件包含以下行:Filesearch:*******(somerandomguid),didnotfindpath:%systemdrive%\SomeFile.txtSettingnumericvariable'FileExists'tovalue0我做错了什么吗? 最佳答案 不幸的是,以这种方式使用运行时环境变量并不是那么容易。您首先需要使用环境变量设置WiX属性,然后在Path属性中使用该WiX属性
我们最近决定将VC++可再分发包与我们的应用程序捆绑在一起。不幸的是,这破坏了我们的升级。旧产品未正确卸载,并且仍然与新版本一起出现在添加/删除控制面板中。如果我理解正确,当旧安装程序的所有功能都没有卸载时会发生这种情况,这就是我尝试下面描述的两种方法的原因。如果我不捆绑VC可再发行组件,旧产品将不再显示在控制面板中。出现此行为的原因是什么?我该如何解决?常用代码版本1:附加功能版本2:在现有功能中 最佳答案 我会使用详细日志进行升级以查看发生了什么。特别是查看适用于您的升级的FindRelatedProduct事件(将有多个),看
是否有关于如何使用WIX创建/使用自定义Windows虚拟帐户的任何公开可用的HowTos/示例?具体来说,我们希望使用仅具有所需权限的专用用户帐户来安装服务。我们不想为此帐户生成或管理密码,也不能保证所有服务器都在一个域中。虚拟账户似乎是一个很好的解决方案,但我不知道如何在Wix中创建一个,或者如何向它添加组/权限。 最佳答案 好像WIX不直接支持虚拟账户。但是,虚拟帐户是从服务中派生出来的。因此,您只需使用帐户NTService\(其中是使用该帐户的服务的名称)配置服务时。例如:之后,您可以使用此命令将其添加到所需的组中:net
我是机器学习的新手,刚开始使用配备GeForceGTX540M的Windows8.1电脑。我跟着这个tutorial开始使用对象检测模型。我构建了自己的数据集并尝试按照教程对其进行训练,但使用“ssd_mobilenet_v1_coco_2017_11_17”模型。但无法成功执行,因为我在教程中给出的“train.py”文件上遇到了麻烦。所以我搜索了一下,发现我们必须使用“model_main.py”来训练模型。在尝试使用“model_main.py”进行训练时出现此错误:“ImportModuleError:没有找到名为‘pycocotools’的模块”所以我尝试从这个link安装c
我刚刚将WiXXmlFile元素与匹配多个XML节点的ElementPath一起使用,它只更新第一个节点,而不是所有匹配的节点。这是WiX中的错误吗?任何人都可以为此提出解决方法吗? 最佳答案 如果多个元素的某个属性具有不同的值(例如,您有5个元素,每个元素具有不同的Name属性),您可以重复设置每个元素的值(使用格式化路径)。如果不是这种情况,我想您可以使用一些丑陋的技巧来绕过它。例如,更改您已设置想要的值的每个节点的节点文本,然后您可以更改下一个实例,因为它成为第一个。当然,当您完成所有实例的检查后,将文本改回...
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。问题必须表现出对正在解决的问题的最低限度的理解。告诉我们您尝试过的方法、为什么不起作用以及它应该起作用。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我有几个具有外部站点名称的mp3文件,例如www.mymusic.com,该名称将位于mp3文件的开头/结尾例子:01-{www.mymusic.com}你好Hello.mp3,02-{www.mymusic.com}海海.mp3,03-你好男孩[www.musicworld.in