我有一个安装程序,可以将Web服务部署到IIS。在此之后finshed自定义操作触发,使用webservices所需的脚本更新数据库。这些脚本目前正在部署到IIS,因为它们是.net项目的一部分。如何配置安装过程以使脚本不属于项目并从MSI中解压缩,以便我的自定义操作可以访问它们?
答案 0 :(得分:2)
如果您使用的是标准的Visual Studio安装项目,请执行以下操作:
您的文件现在将与MSI一起输出,以便随时可用。
答案 1 :(得分:0)
使用WIX,不知道你在使用什么。我会创建一个
<Binary Id="webServiceScript.sql" src="[DirectoryToFile]\webServiceDataScript.sql" />
设置CA以运行脚本
<CustomAction Id="CallCmd" Value="[Path_to_Exe_Folder][Your_EXE_TO_RUN_SCRIPT_HERE]" />
<CustomAction Id="RunCmd" ExeCommand="webServiceScript.sql" BinaryKey="webServiceScript.sql" Return="Ignore" />
然后只需设置安装顺序
<InstallExecuteSequence>
<Custom Action="CallCmd" Before="InstallFinalize" />
<Custom Action="RunCmd" After="CallCmd" />
</InstallExecuteSequence>