【问题标题】:Place a file in APPDIR from a Custom Action in Advanced Installer通过 Advanced Installer 中的自定义操作将文件放入 APPDIR
【发布时间】:2017-08-15 07:28:40
【问题描述】:

是否可以在APPDIR 中放置通过自定义操作创建/修改的文件?还是某种解决方法?我想知道是否必须在我的 Team Build 代码中创建 XCOPY 才能手动移动文件。

目录(“APPDIR”)在我尝试时不存在。

我已将自定义操作移至“完成对话框阶段”,它的执行时间是立即的。

【问题讨论】:

    标签: c# file path custom-action advanced-installer


    【解决方案1】:

    只需在安装执行阶段 -- 添加资源操作之后尝试将您的自定义操作添加为 deferred 并且 no impersonation。也许您的自定义操作需要更多权限来创建文件。

    【讨论】:

    • 我无法访问延迟 CA 中的 session["APPDIR"] 或 session["MyProp1"] 等公共属性。我需要要加密的路径和属性来完成操作。你会用什么方法来解决这种情况? :)
    • 4 天的奋斗终于结束了,感谢它现在可以工作了 :) 我还添加了这个以将公共属性传递给延迟的 CA。 var 分隔符 = '|'; var actionData = session["CustomActionData"]; var dataArray = actionData.Split(分隔符); foreach (var d in dataArray) { MessageBox.Show("Property: " + d); }
    • 确实在延迟执行期间安装程序属性生命周期结束。访问它们的唯一方法是在 CustomActionData 属性中设置它们(这也是延迟执行模式下可用的特殊属性)并访问 CustomActionData 属性值。
    • 我的原型使用 Attach DLL,在我刚刚创建的文件夹中,很容易引用 dll 的路径,机器上安装了 AI。我应该在生产中使用调用标准 DLL 吗?我在设置路径时遇到问题。我试过 [APPDIR]\bin\mydll.dll。在添加 [APPDIR] 之前我没有找到 dll,现在我没有收到错误,但似乎没有调用该函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多