Tag: msiexec

你如何从代码中调用exe并绕过可能的UAC行动呢?

我正在使用system.diagnostics.process以安静模式启动msi文件。 我得到退出代码1625,我怀疑它是因为UAC阻止它运行。 我已经关闭了UAC提示但没有骰子…… 如何确保我正确提升msiexec的权限以使其实际运行? 谢谢, 艾萨克

MsiGetShortcutTarget MSI LNK文件不返回任何组件ID

我试图以编程方式找到为给定的MSI lnk文件(通告的快捷方式)运行的exe文件。 我使用了类似于答案中显示的方法有没有办法解决.lnk目标适用于最终在c:\ windows \ installer中的链接? 。 这种方法适用于大多数MSI lnk文件。 不幸的是,有少数lnk文件运行正常,但MsiGetShortcutTarget不返回任何组件ID。 因此,对MsiGetComponentPath的后续调用将返回InvalidArg。 这是我正在使用的代码(取自此处 ): public const int MaxFeatureLength = 38; public const int MaxGuidLength = 38; public const int MaxPathLength = 1024; public static string ParseShortcut(string shortcutFilename) { StringBuilder product = new StringBuilder(MaxGuidLength + 1); StringBuilder feature = new StringBuilder(MaxFeatureLength + 1); StringBuilder component = new […]

避免在MsiExec卸载中使用确认框

我需要从我的代码中运行msiexec卸载: MsiExec.exe /I{A52EEC0E-D0B7-4345-A0FF-574804C7B78A} 但这是要求确认(是/否)。 我怎么能避免这种情况?

MsiExec进度捕获

我正在编写一个小应用程序来安装某些产品并以静默模式卸载其他产品。 每个产品都有其MSI文件,没有别的,我的应用程序清单表明它应该以管理员权限运行。 使用适当的参数运行msiexec很容易完成我的任务(只是一堆代码),一切都运行正常。 无论如何,一些软件包需要花费大量时间才能完成,并且在某些旧PC用户询问是否仍然在后台运行某些软件包或者它已挂起。 那么有可能“捕获” msiexec进度,例如更新我的应用程序的进度条吗? 听起来很疯狂,但我很确定一些专业安装程序以这种方式运行外部msi包。 那么,它有可能吗? 我们可以在C#中做些什么,或者这是一项非常艰巨的任务,需要很多我没有的知识? 只是一个注意事项:我知道我可以使用”/qb” param,但有些软件包的行为方式并不正确,我不想使用它。

使用C#静默卸载InstallShield Installscript MSI程序

这对InstallShield来说非常具体,所以我怀疑之前有没有人处理过这个问题,但是我写了一个批处理文件来卸载我们产品的早期版本并且它不起作用。 (我们总是在安装/升级之前卸载以前的版本,因为InstallShield中的升级似乎不起作用)。 卸载Installscript MSI项目与典型的卸载非常不同,因为您需要“记录”卸载并将结果存储在文件中,即: setup.exe /x /r /f1″C:\temp\UNINST.ISS” 这将卸载映像存储在c:\ temp \ UNINST.ISS中,然后您需要将其传递给卸载程序以获取要卸载的产品: setup.exe /s /f1″UNINST.ISS” 所以我为我们产品的所有先前版本执行了此操作,然后编写了一个批处理脚本(产品代码为{7F2A0A82-BB08-4062-85F8-F21BFC3F3708})来执行卸载,如下所示: echo Uninstalling 5.3.0 pause if exist “C:\Program Files (x86)\InstallShield Installation Information\ {7F2A0A82-BB08-4062-85F8-F21BFC3F3708}\setup.exe” ( del /q “C:\Program Files (x86)\InstallShield Installation Information\{7F2A0A82-BB08-4062-85F8-F21BFC3F3708}\setup-5.3.0.exe” copy /y “C:\Program Files (x86)\InstallShield Installation Information\{7F2A0A82-BB08-4062-85F8-F21BFC3F3708}\setup.exe” “C:\Program Files (x86)\InstallShield Installation Information\{7F2A0A82-BB08-4062-85F8-F21BFC3F3708}\setup-5.3.0.exe” cls echo Uninstalling 5.3.0 “C:\Program Files (x86)\InstallShield […]

EXE文件无法正常工作

我有一个.msi(Windows安装程序包)文件到我的项目中。 我成功地从.msi文件生成了.exe文件,但每当我尝试打开该.exe文件或以管理员身份运行时它什么都不做。 怎么解决这个? 对此有所帮助。 请帮忙 更新这是我的.msi文件的代码 components.wxs <!—-> <!—-> product.wxs

使用命令行选项将msi转换为exe …

我想将msi文件转换为exe文件。 当我使用msnxec的qn选项运行msi文件时,我的软件安静地安装。 但现在我想将该msi文件转换为.exe文件,并且该exe文件使用msiexec / i“msi文件路径”/ qn选项运行msi文件,任何想法如何操作。