installshield10.5复制空文件夹以及数据库附加的问题

hzx1978 2008-05-09 02:51:36
我用的是IS10.5,在文件夹选项中添加了文件和文件夹,安装完成后,凡是文件夹中有内容的都复制成功了,而空的则没有复制,请高手指导!

附加数据库中(attach),如www.cnblogs.com/culturenet/archive/2006/12/19/596930.html

所示

直接在 安装设计视图中创建连接后,直接创建一个sqlscript,会在安装的时候直接执行。这样的话就的提前知道安装的位置(这是不可能的),于是就直接写成可替换的字符串,然后使用 text replacement 选项卡,设置替换项。其中,sqlscript如下:

USE master;
GO
-- Drop database if it exists.
IF EXISTS (SELECT name FROM sys.databases WHERE NAME = 'dmydb')
DROP DATABASE dmydb;
GO
CREATE DATABASE dlbj ON PRIMARY
(FILENAME =
'%TEXT_TO_BE_REPLACED_IN_THE_FILE%\dmydb.mdf')
LOG ON (FILENAME =
'%TEXT_TO_BE_REPLACED_IN_THE_FILE%\dmydb_log.LDF')
FOR ATTACH;
GO

其中:%TEXT_TO_BE_REPLACED_IN_THE_FILE% 是要替换为安装目录的字符串。

这里有个值得注意的地方,如果是installscript项目。那么,在text replacement 选项卡,替换后的内容不能直接设置为[INSTALLDIR]或者 [TARGETDIR],而是要同样设置为一个替换变量,如:<USER_DATA>,即就是,把:%TEXT_TO_BE_REPLACED_IN_THE_FILE% 替换为:<USER_DATA>,然后在 installscript 的 Dlg_SdAskDestPath2: 代码段中,执行如下语句即可。

TextSubSetValue ("<USER_DATA>", TARGETDIR , TRUE );

当时这里困扰我很长世界,最后还是上国外的网站上找到了解决方案。


使用的替换的路径%TEXT_TO_BE_REPLACED_IN_THE_FILE%必须为有效路径,我使用的是"C:\dir",当我有这个目录时,能成功附加数据库,没有时提示错误信息,请高手指点,不胜感谢!
...全文
121 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyc_77777 2008-05-10
  • 打赏
  • 举报
回复
帮顶 谁解决了我也给100分
飞天舞 2008-05-09
  • 打赏
  • 举报
回复
找一下.
飞天舞 2008-05-09
  • 打赏
  • 举报
回复
手动在目标路径下设置一个文件夹.
installshield10.5工程界里面有.
快乐鹦鹉 2008-05-09
  • 打赏
  • 举报
回复
这个工具还真是不会用。跟编成工具似的。一般用Wise。
帮顶

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧