作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我之前在 Inno Setup 中的安装 (A) 的 AppID={{8ADA0E54-F327-4717-85A9-9DE3F8A6D100}。
我有另一个具有不同 AppID 的安装 (B),我想将其安装到与安装 (A) 相同的目录中。
如何自动获取 DefaultDirName?我不想使用相同的 AppID,因为当我卸载安装 (B) 并且安装 (A) 保持安装状态时,它将从注册表中删除 AppID 字符串(安装 (A) 字符串)。
你能帮我一下吗?
最佳答案
您可能需要一些代码来完成您想要的操作。您还需要一种方法来查找应用程序 A 的安装目录。这是我使用过的一些代码
[Setup]
DefaultDirName={code:GetDefaultDir}
[Code]
function GetDefaultDir(def: string): string;
var
sTemp : string;
begin
//Set a defualt value so that the install doesn't fail.
sTemp := ExpandConstant('{pf}') + '\MyCompany\MyAppA';
//We need to get the current install directory.
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\MyCompany\Products\MyAppNameA',
'InstallDir', sTemp) then
begin
//We found the value in the registry so we'll use that. Otherwise we use the default
end;
Result := sTemp;
end;
关于inno-setup - 如何为以前的 Inno Setup 安装自动设置 DefaultDirName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720475/
我是一名优秀的程序员,十分优秀!