草庐IT

setup_msi

全部标签

windows - 避免 Inno Setup 中的 "Failed to expand shell folder constant userdocs"错误

我将一些示例文档安装到Windows上标准“我的文档”文件夹的“PerfectTablePlan”子文件夹中。这适用于99%以上的用户。但是,如果用户没有“我的文档”文件夹,我会收到许多错误消息,形式如下:Internalerror:Failedtoexpandshellfolderconstant“userdocs”这对用户来说不是很鼓舞人心!可以不为这些用户安装示例(或将它们安装在其他地方)。但不要显示丑陋的错误消息。问题似乎来自于{userdocs}的ExpandConstant宏扩展。有没有什么方法可以在不使用宏的情况下获取“我的文档”的路径?或者有什么方法可以抑制错误信息?E

windows - 安装 scala-2.9.2.msi 后 scala 目录中没有 sbaz(在 Windows 上)

我应该以某种方式单独下载它还是这是一个错误? 最佳答案 2.9.2.finalreleasenotes底部的评论中提到了这一点.显然它被评论为“sbaz已被弃用并消失”。所以,它似乎不是一个错误,它只是在那个版本中不存在。查看更多讨论here(包括上述评论的出处)。 关于windows-安装scala-2.9.2.msi后scala目录中没有sbaz(在Windows上),我们在StackOverflow上找到一个类似的问题: https://stackove

windows - Inno Setup Pascal 脚本搜索正在运行的进程

我目前正在尝试在卸载时进行验证。在Pascal脚本函数中,在InnoSetup中,我想搜索特定的进程,如果可能的话使用通配符。然后,循环所有的find结果,得到ImageName和ImagePathName,以检查即将卸载的程序是否与正在运行的程序相同。有办法吗? 最佳答案 这是WMI及其WQL语言的典型任务。通过WMI获取正在运行的进程列表甚至比WindowsAPI更可靠。下面的示例显示了如何查询Win32_Process类与LIKE运算符(operator):[Setup]AppName=MyProgramAppVersion=

windows - 如何在 Inno Setup 中使用 Pascal 变量?

[Files]Source:"C:\MyProg.exe";DestDir:"{app}";BeforeInstall:GetHome();Flags:ignoreversion[INI]Filename:"{myVarFromPascal}\.MyProg\settings.ini";Section:"Settings";Key:"sound";String:"1";Flags:createkeyifdoesntexist[Code]procedureGetHome();varmyPascalVar:String;beginRegQueryStringValue(HKEY_CURRE

python - 卸载通过 cx_freeze bdist_msi 创建的先前安装的 msi

我经常使用cx_freeze将我的python源与所有依赖项打包,然后通过distutils创建一个msi安装包bdist_msi扩展名唯一的问题发生在我尝试重新安装新创建的msiWindows安装程序而不卸载以前的版本时。卸载程序会记录所有以前卸载的软件版本,并删除注册表和卸载程序信息。是否可以检测以前安装的软件版本并在不安装新版本的情况下自动将其卸载?我知道NSIS,以及如何使用它的python绑定(bind)来创建安装程序,我提到的上述问题可以通过它轻松解决。不幸的是,此时此刻,除了Python提供的功能(即distutils),我没有寻找任何东西。

installation - 如何使用 inno setup 结束进程?

我想使用innosetup终止进程。我想在开始安装安装程序之前检查窗口是否打开。我可以通过搜索窗口名称来做到这一点吗?请帮我提供一些示例代码来终止进程 最佳答案 在[UninstallRun]部分,可以添加如下代码:Filename:{sys}\taskkill.exe;Parameters:"/f/imMyProcess.exe";Flags:skipifdoesntexistrunhidden 关于installation-如何使用innosetup结束进程?,我们在StackOve

windows - Inno Setup 用户主页路径

我希望我的安装程序将一些文件放入用户主路径(Windows%USERPROFILE%环境变量指向的路径,以及Qt的QDir::homePath()返回的路径)。我看过InnoSetupConstants页面,但找不到我要查找的路径。 最佳答案 使用环境变量{%USERPROFILE}或{%HOMEPATH}。更新作为Martin在评论中指出,不应使用{%HOMEPATH},因为它没有磁盘名称(例如,\Users\username)。 关于windows-InnoSetup用户主页路径,我

windows - 单个 .msi Windows 程序包安装程序文件的最大大小是多少?

我们正在对服务器进行一些上传测试,特别是接收.msi包安装程序文件。目前,我可以使用有限的知识和我拥有的VisuslStudio工具创建总大小为2GB的.msi文件,但我想知道我是否可以创建更大的文件。我的谷歌搜索都没有给我一个明确的答案,但我需要测试可以上传的最大文件大小,这似乎受到最大.msi文件大小的限制,我无法找到或创建。我假设它大于2GB,有人知道或可以为我指出正确的资源吗?.msi文件的最大大小是多少?如果大于2GB,我该如何创建一个? 最佳答案 2GB的限制是针对MSI包中包含的CAB文件,而不是针对MSI数据库本身。

windows - 安装前检测 MSI 是否需要重启

如果我在安静模式下使用MSIExec启动安装程序,我可以通过检查退出代码是否为3010来检测是否需要重新启动才能完成安装。但是我希望能够以可编程形式执行的操作是测试MSI的安装是否需要在我启动实际安装程序之前重新启动才能完成。我查看了MSIAPI:http://msdn.microsoft.com/en-us/library/windows/desktop/aa369426(v=vs.85).aspx我确实认为我可以:调用MsiOpenPackage使安装程序准备好运行使用以下参数调用MsiDoAction:CostInitialize、FileCost、CostFinalize、In

c - 如何从 .msi 文件中提取资源

如何从构建的.msi文件中提取资源(位图、图标)? 最佳答案 这些资源保存在MSI的二进制表中。您可以使用Orca工具打开MSI,转到此表,然后双击“数据”列,然后系统会提示您选择导出资源甚至覆盖它。 关于c-如何从.msi文件中提取资源,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8984199/