1
我正在學習Wix來構建安裝程序。Wix按鈕將文本複製到剪貼板,使用自定義操作,不工作
在自定義對話框中,我有一個控件,其類型是文本,並且我有一個按鈕。 我想單擊按鈕將文本複製到剪貼板中。
這裏是代碼。 首先是控件。
<Control Id="AboutUsInfo" Type="Text" Property="AboutUsText"
X="150" Y="20" Width="140" Height="150">
<Text SourceFile="sample\info2.txt" />
</Control>
<Control Id="CopyAboutUsButton" Type="PushButton" Text="Copy to the clipboard"
X="100" Y="180" Width="80" Height="17">
<Publish Event="DoAction" Value="CopyAboutUsAction"></Publish>
</Control>
<Binary Id="Customactions" SourceFile="sample\CustomAction1.CA.dll"></Binary>
這裏是CustomAction。
<CustomAction Id="CopyAboutUsAction" BinaryKey="Customactions" DllEntry="CopyToClipboard" Return="ignore">
</CustomAction>
現在的C#代碼
namespace CustomAction1
{
public class CustomActions
{
[CustomAction]
public static ActionResult CopyToClipboard(Session session)
{
session.Log("Begin Copy");
String s=session["AboutUsText"];
Clipboard.SetText("this is copy");
return ActionResult.Success;
}
}
}
的問題是,每次我按一下按鈕,我的安裝什麼都不說。我的剪貼板中沒有任何反應。 我該如何做這項工作?
很可能它無法找到DLL或無法加載它。使用日誌記錄運行安裝:'msiexec/i package.msi/l * v package.log'。你應該明白爲什麼在'package.log'文件中中止安裝。 –
這就是問題所在,它說什麼都沒有!沒有錯,沒有錯,只是執行的自定義操作,並返回值1.它甚至沒有一個名爲「Begin Copy」的項,它在CustomAction函數中定義。總習慣不起作用。我將返回屬性設置爲忽略,現在它不會因錯誤而退出。 – cdytoby
通過按下按鈕,在安裝過程中將某些內容複製到剪貼板的要求聽起來很奇怪......您是否考慮過任何替代方案?也許,最好只使用MSI屬性來傳遞數據? –