您好我需要从用户指定的位置复制文件,如何设置它以便我可以使用directiory ID?
像这样的东西! (这不行)<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="name" >
<Component Id="id1" Guid="GUID">
<File Name="dll.dll" DiskId="1" Vital="yes"
Source="[MYDIR]\dll.dll" />
</Component>
</Directory>
<Directory Id="MYDIR" Name="mydirname" >
</Directory>
</Directory>
</Directory>
我有一个浏览器,所以我设置了MYDIR但是用户指定我将找到我想要的文件的位置,然后我想使用该路径作为源可能吗?
谢谢你的回答
编辑
我放入INSTALLDIR
<CopyFile Id="dll.dll"
SourceDirectory="MYDIR"
SourceName="dll.dll"
DestinationDirectory="INSTALLDIR"
DestinationName="dll.dll" />
并且工作正常:)
唯一的问题是,如果路径错误且文件没有被复制,安装程序仍然运行而且我没有得到我的文件:(所以我必须以某种方式验证路径或做习惯来检查文件是否存在
无论如何,谢谢你的一切! :d
答案 0 :(得分:1)
是的,我认为CopyFile元素是你需要的:
<Component Id="MyComponent" Guid="YOUR_GUID">
<CopyFile Id="dll.dll" SourceProperty="[MYDIR]" SourceName="dll.dll" DestinationDirectory="INSTALLDIR" DestinationName="dll.dll" />
</Component>