none
使用MSI 在新的安装过程中,如何让客户可以指定安装路径? RRS feed

  • 问题

  • 我现在有个客户需求,就是希望可以让客户指定安装路径,因为是个web项目,所以上来默认路径希望是c:\wwwroot\inetpub,而且 不能使用Orca.exe 去修改MSI framework.请问有什么方法,谢谢
    The Seven Deadly Sins
    2010年4月9日 3:38

全部回复

  • 我现在看到的很多参考,都是在Design-time 下指定好 安装路径,到了Run-time,我就不能在重新指定这个安装路径了。我现在用VS2008 和MSI 4.5。我添加了一个Custom action去调我自己code.但是还是不能修改安装路径,请问如果默认安装路径和客户指定的路径不一样,我要把默认安装路径下的文件拷到客户指定的路径下,然后清空默认安装路径。这样就导致在更新和卸载时,MSI 就会出错 因为存储信息的.installstate 的文件找不到了。我怎么能让安装程序重新记住.installstate的路径呢?谢谢。
    The Seven Deadly Sins
    2010年4月9日 6:08
  • 请问一下您是用 Windows Installer XML Toolkit 直接写的 MSI 包,还是通过 Visual Studio Setup Project 创建的?

    如果是后者,在 User Interface 里面有一个 Installation Folder,把它加进去就可以了。

    如果是前者,我还不知道怎么弄。


    Mark Zhou
    2010年4月9日 6:44
  • 谢谢你的回复,我是用后者,但是如果选择Web setup Project, Installation Folder 这个界面里面并不包含物理安装路径,并且不能重新指定路径在runtime时候。如果选择Window setup Project , Installation Folder 这个界面里物理安装路径默认上来是"C:\program files\[default company name]“.这两者都不符合我的要求, 而我需要的是Installation Folder 界面,默认安装路径是"c:\wwwroot\inetpub",在runtime下,又可以让用户修改。而我又不能用orac.exe去改MSI。
    The Seven Deadly Sins
    2010年4月9日 7:23
  • 看起来像是一个 IIS 部署问题,那为什么不直接用 MSI 的 IIS Task 呢?

    如果您真的是想自定义安装路径,那么建议用 InstallSheld for Visual Studio 2010 这个项目模板,默认就会有让您选择 Installation Folder 的。


    Mark Zhou
    2010年4月9日 7:39
  • 因为我还要在部署wcf service 的同时,进行数据库,数据库维护程序和报表的安装更新。

    公司考虑到InstallSheld 需要另外收费,而MSI 我们已经订制了MSDN软件。所以出于省钱的角度,选择了MSI,没有想到,有这样的问题,我很郁闷。头发都掉光了。


    The Seven Deadly Sins
    2010年4月9日 8:10