簡體   English   中英

自定義操作設置項目中的幫助

[英]Help in Custom action Setup project

請提出您的想法:

在一個解決方案文件中,我有兩個項目PROJECTA和SETUP項目。 創建PROJECTA的安裝程序之后,安裝程序“ example.msi”包含PROJECTA的PROJECTA.exe(或活動輸出)。

在安裝“ example.msi”時,我想在后台運行PROJECTA.exe。

我嘗試了自定義控件和安裝程序類

如果給出了exe的路徑(如下所示),則可以正常工作。 但這不是預期的行為,我希望在安裝之前將example.msi中的PROJECTA.exe復制到該位置,以便在安裝過程中可以從那里運行。

如何做到這一點。

C#語法:

[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]

    public override void Install(IDictionary stateSaver)
    {
        base.Install(stateSaver);
    }

    [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
    public override void Commit(IDictionary savedState)
    {
        base.Commit(savedState);
        string s="C:\\xxx\\PROJECTA.exe";
        System.Diagnostics.Process.Start(s);

    }

先感謝您。

使MMS安裝PROJECTA.exe,然后將其添加到二進制表中。 然后,如果要在UI序列中完成,則創建類型為50的CustomAction,如果要在exec序列中,則創建類型為7。 您不能在.NET CA中執行此操作,因為一次只能運行1個MSI安裝程序實例。 通過運行嵌套的安裝程序,您基本上可以共享同一個MSI安裝程序引擎實例

說完所有這些之后,嵌套安裝程序可能會很痛苦,如果可以幫助,應該避免使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM