2011-03-11 46 views
8

我知道的都thisthis問題。「此程序可能沒有正確安裝」

不幸的是並沒有完全回答想什麼,我知道:

  1. 上述問題的答案表明,它具有與添加快捷方式到開始菜單做的,但可以」不是唯一的原因。到目前爲止,我一直無法可靠地找出是什麼讓Windows認爲我的應用程序是安裝程序的第一名,爲什麼Windows認爲它失敗?

  2. 我不想簡單地抑制消息的體現一個了兼容性標籤。 我想寫一個正確的解決方案,並告訴Windows我的安裝是否失敗。另外,使用推薦的設置選項安裝的是什麼,它與對話框一起出現?我該如何正確使用這個功能?再次,我不想簡單地忽略Windows提供的功能,我想使用它們。

我一直在瀏覽周圍的MSDN,但沒有成功。我問過谷歌,但我能找到的所有方法都是在清單或註冊表中使用兼容技巧來抑制消息。如果有人能夠在MSDN上提供涵蓋此主題的可行資源,我將不勝感激。

到目前爲止,我使用的是利用幾個Windows API調用自定義安裝程序。除了註冊兩項服務之外,我並沒有搞亂Windows註冊表。它也有requireAdministrator作爲請求的執行級別(不是任何人關心,但這是令人驚訝的乾淨和簡單 - 它只是項目設置中的一個標誌)。我目前不使用MFC或CLR。

回答

8

Installer Detection,它列出了什麼檢查,以決定一個可執行是否是一個安裝程序。

「這一計劃可能不會有......」是「程序兼容性Assitant」的產物,而Application Compatibility: Program Compatibility Assistant (PCA)主題中進行了說明。根據文檔重新安裝選項應用XPSP2兼容模式。

+0

這是一個有趣的閱讀。說實話,我沒有想到它會這樣工作 - 也就是說,它僅僅用於檢測非Vista兼容的安裝程序。我認爲它更像是支持針對Vista和7的安裝程序的一般功能 - 但事實並非如此。非常有趣......並且恐嚇......,Windows一直在進行多少次檢查和監視。無論如何,簡單地按照我的問題設置'requestedExecutionLevel =「requireAdministrator」'似乎是根據這些文檔推薦的方式。謝謝。 – dialer 2011-03-11 18:56:15

+0

@dialer - 不客氣!此外,AFAIU,如果UAC決定它是一個安裝程序,PCA將需要在「添加刪除程序」中輸入。 – 2011-03-11 19:03:35

+0

謝謝你的鏈接...我有同樣的問題,只是因爲我的應用程序可執行文件名稱以「Setup.exe」結尾...... Windows是一個糟糕的檢查! – mrAlmond 2017-02-15 12:41:36