2013-04-25 21 views
3

我們希望在安裝結束時打開記事本文件。因此,我複製了一個readme.txt並在安裝過程中置於某個本地驅動器下,然後嘗試從該位置打開。但是,它給「系統找不到指定的路徑」問題。但是,當我將本地硬編碼路徑像「d:\ readme.txt」一樣給出時,它正在工作。在安裝結束時打開readme.txt在WiX中失敗

<Directory Id='ProgramFilesFolder' Name='PFiles'> 
    <Directory Id='INSTALLDIR' Name='SimpleMvvmToolkit_2012'>   
    </Directory> 
</Directory> 


<Property Id='NOTEPAD'>Notepad.exe</Property> 
<CustomAction Id='LaunchFile' Property='NOTEPAD' ExeCommand='[INSTALLDIR]Readme.txt' 
       Return='asyncNoWait' /> 

<InstallExecuteSequence> 
    <Custom Action='LaunchFile' After='InstallFinalize'>NOT Installed</Custom> 
</InstallExecuteSequence> 

某處我做錯了,但我找不到確切的。

回答

7

在WiX SDK中有一個名爲How To: Run the Installed Application After Setup的主題,如果您只是想這樣做,可以用它來啓動readme.txt

如果你真的不想要那種用戶體驗,我會推薦使用WixShellExec自定義動作來啓動readme.txt而不是嘗試啓動Notepad.exe。這樣readme.txt將在用戶的默認.txt編輯器中打開。你可以這樣做:

<Property Id="WixShellExecTarget" Value="[#FileIdForReadMe.txt]" /> 
<CustomAction Id="LaunchFile" 
    BinaryKey="WixCA" 
    DllEntry="WixShellExec" 
    Impersonate="yes" /> 

<InstallExecuteSequence> 
    <Custom Action='LaunchFile' After='InstallFinalize'>NOT Installed</Custom> 
</InstallExecuteSequence> 
+1

感謝搶劫。您的答案對我的安裝程序活動有很大的幫助。我會在您的指導下完成。 WiX實際上是創建安裝程序的絕妙而強大的工具。做得好...!! – Smaug 2013-04-25 08:43:23

+0

這個應用程序在點擊完成之前啓動應用程序FYI。 – 2014-11-21 23:15:23

+0

此自定義操作是否執行任何版本檢查?我試過這個解決方案,但它只適用於安裝的文件是msi中的相同文件 - 我做錯了什麼?背景:要執行的exe是一個共享組件,所以exe可以更新,然後安裝產品。 – BudBrot 2015-07-07 14:25:00