当我尝试创建安装程序时,我收到以下错误:
该目录ProgramMenuDir位于用户配置文件中,但未在RemoveFile表中列出.
我该如何解决这个问题?以下是我使用的目录结构:
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="E">
<Directory Id="Monarch" Name="Monarch">
<Component Id="Monarch" Guid="*">
<RemoveFolder Id='Monarch' On='uninstall' />
<RemoveFolder Id='ProgramMenuDir' On='uninstall' />
<RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]'
Type='string' Value='' KeyPath='yes' />
</Component>
</Directory>
</Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)
Yan*_*nko 72
据我所知,问题在于<RemoveFolder/>元素的使用.如果省略"Directory"属性,则它将获取父组件的目录.在您的情况下,它是Id ="EFIMonarch"的目录.这解释了为什么你得到外部目录(ProgramMenuDir)的警告,但是没有为EFIMonarch目录获取它.
尝试更换:
<RemoveFolder Id='ProgramMenuDir' On='uninstall' />
Run Code Online (Sandbox Code Playgroud)
同
<RemoveFolder Id='RemoveProgramMenuDir' Directory='ProgramMenuDir' On='uninstall' />
Run Code Online (Sandbox Code Playgroud)
此外,对每个RemoveFolder元素都是明确的是一个好主意.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
18235 次 |
| 最近记录: |