我的设置应用应该在sql server中创建用户并恢复数据库。我将它作为两个单独的项目执行;一个用于将数据库备份文件复制到计算机,另一个用于执行操作。我打算把它变成一个单一的项目。
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder" Name="Program Files" >
<Directory Id="INSTALLFOLDER" Name="My Produact name" >
<Directory Id="DBDIR" Name="DB PreReq" ></Directory>
</Directory>
</Directory>
</Directory>
<UI Id="DbConfigSetupUI" >
<TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" ></TextStyle>
<TextStyle Id="DlgTitleFont" FaceName="Tahoma" Size="8" Bold="yes" ></TextStyle>
<UIRef Id="Custom_WixUI_Mondo" />
<UIRef Id="WixUI_ErrorProgressText" />
<InstallUISequence >
<Custom Action="CreateUserWithSa" Before="FileCost" >NOT Installed</Custom>
<Custom Action="CreateUserWithWindows" After="CreateUserWithSa" >(SARETURN="fail") AND NOT Installed</Custom>
<Show Dialog="ConnectionStringDialog" After="CreateUserWithWindows" >(WINDOWSRETURN="fail") AND NOT Installed</Show>
<Custom Action="CreateUserWithPrompt" After="ConnectionStringDialog" >(DBLOGIN AND PASSWORD) AND NOT Installed</Custom>
<Custom Action="CreateDB" After="CreateUserWithPrompt" >(SARETURN="pass" OR WINDOWSRETURN="pass" OR PROMPTRETURN="pass") AND NOT Installed</Custom>
</InstallUISequence>
</UI>
</Fragment>
此处未复制文件(组件放在单独的文件中),但正在执行自定义操作。由于备份文件是必要的还原。我需要先发生这种情况。有没有办法实现这个目标?
答案 0 :(得分:0)
安排自定义操作在InstallExecuteSequence中的InstallFinalize之后运行。保证您的文件将在那时安装。请注意,如果您的操作需要访问它们,则需要存储您的属性/数据值。