我想在WiX安裝程序中運行一些任意代碼,並儘早提供結果。執行WiX中的任意C#代碼
要測試這個,我使用返回值來設置標籤字段。它似乎沒有工作。當我在下一個按鈕的控件內放置一個
<Publish Event="DoAction" Value="CustomAction1">1</Publish>
,但這太「遲了」。我想在一開始就執行該代碼。
這裏是我的嘗試:
<Binary Id="WixCustomActions" SourceFile="$(var.SolutionDir)$(var.CAProjectName)\bin\Release\$(var.CAProjectName).CA.dll" />
<CustomAction Id="CustomAction1" BinaryKey="WixCustomActions" DllEntry="CustomAction1" Execute="deferred" Return="asyncWait"/> (tried many combinations here)`
後來.....
<InstallExecuteSequence>
<Custom Action="CustomAction1" After="InstallInitialize">1</Custom>
</InstallExecuteSequence>
在紙面上這應該工作。
我知道這不是自定義操作本身的問題,因爲當放在下一個鍵上時,我會得到所需的結果。
解決方案是什麼?
感謝您的提示。我將它更改爲InstallUISequence,並使用 1 ,但是這個錯誤與「DEBUG:Error 2762:無法調度操作。操作必須安排在InstallInitialize和InstallFinalize之間。但這不會編譯爲「錯誤\t 1」在產品:{5A997B05-4696-4C8F-BAA8-6915B8AB6FC5}「部分中未解析對符號'WixAction:InstallUISequence/InstallFinalize'的引用。 –
您的自定義操作代碼存在的位置是Install方法還是beforeInstall。解釋scenerio爲什麼你想做,然後我將能夠提供更好的解決方案 – hungryMind
本質上,我想運行一些可以通過*安裝程序來填充字段,並在某些情況下根據IP地址做出決定等。這個代碼在安裝程序實例化後立即運行是關鍵。 –