【问题标题】:InstallShild custom action argumentsInstallShield 自定义操作参数
【发布时间】:2010-09-20 08:07:59
【问题描述】:

我正在使用 Visual Studio 2010 的 InstallShield Limited Edition 创建安装程序,并且正在尝试添加可执行的自定义操作。

我在安装到安装目录的 exe 中的自定义操作。 自定义操作还需要使用位于安装目录中的另一个文件。

如何获取我的 exe 的安装目录的路径?我试图将 [INSTALLDIR] 作为参数,但它转换为“C:\Program”而不是正确的目录(“C:\Progam Files\MyCompany\MyProduct”)。我尝试了 [TARGETDIR] 但它转换为 E:\(也是错误的)。

有什么想法吗?

【问题讨论】:

  • 为安装编写自定义操作时要小心。关于何时应该或不应该编写这些以及如何减轻随之而来的风险,有一个很长的背景故事。

标签: visual-studio installshield-le


【解决方案1】:

找到问题了。

使用 [INSTALLDIR] 是正确的。问题出在powershell上。正在读取 C:\Program 文件... 作为 C:\Program.

这里讨论了这个问题:

http://www.leeholmes.com/blog/2006/05/05/running-powershell-scripts-from-cmd-exe/

【讨论】:

  • 我会建议确保您在命令行中为 [INSTALLDIR] 加上引号,例如“[INSTALLDIR]MyExe.exe”,但如果您仍然遇到 powershell 问题,那将无济于事。
【解决方案2】:

EXE 自定义操作非常有限。如果我使用的是 InstallShield LE,我会创建一个 C# WiX/DTF 自定义操作并在 WiX 合并模块中使用它,然后在您的 InstallShield LE 项目中使用该合并模块。这为您提供了非常强大的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多