我有一個單獨的可執行文件,它通過InnoSetup默認安裝到Program Files \ FolderName中。該exe文件有一個第三方組件,它可以在線檢查新版本並下載它們,然後做一些小小的替換操作 - 簡單的東西。問題是,它不能在Program Files中做到這一點,因爲它有必要的安全性。我讀Windows 7 - Can't update my program's files in C:\Program Files在大衛Hefferman給出了一個解決方案,但隨後似乎說這是一個壞主意 - 但我不知道這個壞主意位是否指的是他的解決方案或業務方案的意見!在Program Files中更新自己的軟件
那麼程序可以自行更新的首選方法是什麼?一個將在XPSP3到Win8上工作的人。我似乎無法找到正確的詞組進入Google,這給了我相關的結果。爲簡單起見,現在忽略數字簽名等類似內容。 (請注意,它可能看起來像我作爲一個意見問題,但它不是 - 必須有一些MS認可的做法,我找不到。FWIW這是一個Delphi程序,但任何Win32音符都可以)
下的程序文件把一個寬容的DACL不是解決您的問題。我直接回答了一個問題,然後給出了評論,指出提出的解決方案是一個壞主意。所以,不,不要在程序文件中考慮DACL。如果您想下載更新,請下載到可寫入的位置,然後如果您需要更新程序文件,則需要更新程序升級。 –
對我來說,這有點模棱兩可,沒有得到OP的評論的幫助,因此提出了一個新問題,而不是增加了這個問題 - 不想讓我對自己的不確定性感到困惑!謝謝。 – GeoffM