在orca中编辑TARGETDIR,以便在msi定位的UI中显示TARGETDIR之后附加的应用程序文件夹名称

时间:2015-04-13 04:48:28

标签: visual-studio-2010 windows-installer

我正在使用Visual Studio 2010创建一个Windows安装程序。我想用我的应用程序名称创建另一个文件夹,然后我想将组件复制到该文件夹​​中。虽然文件夹创建成功,但我面临一些似乎很严重的问题。当用户尝试修改路径时,也会创建默认值,但GUI中的位置文本不会更新。即假设用户将位置改为" D:\ MyDesktop"然后GUI将位置显示为" D:\ MyDesktop"但无论应用程序安装在何处,我都要附加我的应用程序名称文件夹。即" D:\ MyDesktop \ MYAPPNAME"。可以用orca完成吗?如果是,怎么样?

请注意,我的安装程序始终在所选位置后创建应用程序名称文件夹,并将该应用程序安装在该文件夹中。唯一的挑战是在GUI中附加应用程序名称文件夹。

2 个答案:

答案 0 :(得分:2)

你无法通过Orca以直截了当的方式做到这一点。使用VS设置,默认建议的文件夹名称将提供给用户(基于ProgramFiles文件夹,制造商,产品名称,如Chris所说),如果用户更改该文件夹,则文件将安装在该用户指定的位置。您要求的是一个自定义操作,该操作在浏览对话框中的按钮上运行,该操作将您的名称附加到用户刚刚选择的目录,并且在用户前后几次无需附加的情况下返回的情况下工作它多次!如果你对MSI文件的内部一无所知,这是非常重要的,并且不管用户想要什么。如果这是您设置中的常见需求类型,则应使用其他工具来执行此类操作。如果您真的不希望用户更改默认位置,您可以随时删除“安装文件夹”对话框。否则,我和克里斯一起,放手吧。

答案 1 :(得分:1)

我以前有人问过我这个功能,但我反对。 INSTALLDIR / TARGETDIR / INSTALLLOCATION(无论你想称之为什么)的官方标准是[ProgramFilesFolder] Company \ Product。如果用户说TARGETDIR = F:\那么就是这样。他们得到了他们要求的东西。

如果您仍然不高兴,最简单的方法是设置TERGETDIR = [ProgramFilesFolder] Company,然后在名为Product的安装程序中创建一个文件夹,并将所有内容置于其下。就MSI /添加/删除程序而言,INSTALLDIR将是父文件夹。因此,如果他们说TARGETDIR = F:\它将是F:\但实际上所有内容都会出现在F:\ Product下。

那就是说,我不会这样做。