2012-10-25 108 views
0

您好我已經創建了一個使用WIX的MSI安裝程序。我的自定義操作出現問題。我有一個自定義操作,它填充了一個文本框,它似乎只能在命令提示符下運行MSI時運行,而cmd以管理員身份運行。是否有連接,以及如何使用特權運行我的自定義操作。我的自定義操作在點擊按鈕時立即運行。由於具有權限的自定義操作

回答

3

填充文本框不應該要求任何特權,所以從你給的信息,這不應該發生。有可能它需要提升,比如說爲了獲取它放在框中的文本,這就是爲什麼它有問題。如果從升級的上下文啓動.msi,則只會提升UI序列。延遲序列可以被提升,即使.msi不是,但它不會幫助您的用戶界面。

+0

謝謝邁克爾,我會查看我的代碼,看看我是否需要提升文本的位置。很好的解釋。謝謝 –

1

下面是一些關於這個問題必讀:

Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer

我花了幾個讀去了解它。基本上,您需要在InstallInitialize和InstallFinalize之間對自定義操作進行排序,並在沒有模擬的情況下爲Deferred進行排序。如果您需要訪問MSI會話,您可能還需要安排立即自定義操作。你

+0

嗨,感謝您的鏈接,很好閱讀.. :)我意識到我發佈了不正確的信息我的自定義操作實際上是一個按鈕點擊進度對話框之前。我有另一個類似的自定義操作,它似乎工作正常,只有這一個。 –

+0

這是一個始終立即執行的DoAction ControlEvent。正如MichaelU所說,這絕不需要許可。我不得不看看你的代碼做什麼來理解它失敗的原因。 –

+0

謝謝克里斯託弗,我會查看我的代碼並嘗試檢測它需要許可的位置。 –