2013-04-21 34 views
2

下面的代碼無法創建在Windows 7無法創建註冊表項使用維克斯

<Component Id='RegistryEntry1' Guid='1BECF977-A7A1-448E-8EC8-843A10E7F6D7' Directory='TARGETDIR'> 
    <RegistryKey Root='HKLM' 
       Key="SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v5.0\AssemblyFoldersEx\SimpleMvvmToolkit_2012.SL" 
       ForceCreateOnInstall="yes" 
       ForceDeleteOnUninstall="yes">    
     <RegistryValue Type="string" 
        Value="C:\Program Files\SimpleMvvmToolkit_2012\Binaries\Silverlight\v5.0\" 
        KeyPath="yes"/> 
    </RegistryKey> 
</Component> 

Registry Snap

註冊表項,這可能是什麼問題呢?

回答

0

如果沒有創建註冊表項,更有可能沒有安裝組件。從安裝,例如檢查詳細的日誌文件:

msiexec /i path\to\your.msi /l*v install.txt 

在該日誌文件,你會看到線,如:

Component: RegistryEntry1; Installed: Absent; Request: Local; Action: Local 

我預計ActionNone什麼不Local。然後在日誌文件中查找以查看未安裝組件的原因。

PS:ForceCreateOnInstallForceCreateOnUninstall是沒有必要的,除非您希望在該註冊表項下創建隨機值,您必須在卸載時刪除該註冊表項。

+0

組件:RegistryEntry1;安裝:無;要求:無;操作:空 - 這是我檢查詳細日誌文件時的輸出。這可能是一個問題? – Smaug 2013-04-23 09:35:28

+0

通過它的'Id'和它的'Guid',在該Component的詳細日誌文件中看起來更高。應該有一個消息爲什麼Windows安裝程序不允許它,這應該指出你在正確的方向來解決這個問題。 – 2013-04-23 13:16:50

+0

@RobMensching我有完全相同的問題,但Microsoft安裝程序的詳細日誌不包含任何解釋爲什麼它是請求:空。我無法在Guid上找到任何內容,也無法通過Id找到更多信息。我有標記爲Absent =「Allow」和DefaultAction =「Install」的功能。如果我設置了Absent =「Disallow」,它就可以工作,但是當我沒有管理員權限時,它會向我發送一個UAC框。在這種情況下,我會喜歡它跳過該功能,但如何? – 10100111001 2016-11-08 14:02:22