2010-07-19 42 views
3

Inno Setup的問題在這裏...Inno使用用戶特定的設置進行全局安裝?

我在做應該在全球範圍內爲所有用戶安裝程序,但其中每個用戶有程序自己特定的設置,這絕對應該共享。爲了在Windows 7中運行良好,我創建了程序本身在{userappdata}下創建了一個文件夾來存儲其設置。但是,我希望安裝程序能夠執行乾淨的卸載,這意味着我的卸載程序(當然是以管理員身份運行)需要爲每個擁有它的用戶刪除文件夾

有沒有人有任何想法我可以做到這一點?我很難...

回答

4

您可以讓應用程序記錄它已創建配置文件的用戶,然後將刪除邏輯放在主程序或實用程序應用程序中,並通過卸載時運行inno的[UninstallRun] Filename: "{app}\WHATEVER.EXE"; Parameters: "/uninstall"

另一種方法是讓您的主應用程序動態地將詳細信息附加到安裝在應用程序目錄中的卸載bat/vbs並運行該應用程序。

我能想到的唯一方法就是在卸載事件中使用Pascal腳本。

+0

那麼,Pascal腳本實際上是我在尋找的東西,但我似乎找不到一種方法來獲取用戶列表,甚至是一個用戶列表,以便爲所有用戶可靠地獲取這些文件夾。 雖然你的想法並不太壞。我可以把它放在共享用戶應用程序文件夾中。也許我會做那樣的事情。 我不敢相信這類問題在全球安裝tbh中並不常見。 – Nyerguds 2010-07-19 12:04:16

+0

Pascal腳本可以讀取一個ini文件(GetIniString)你的應用附加到[InstalledFor] \ r \ n bob = c:\ users \ bob – 2010-07-19 12:19:22

+0

我的意思是Pascal腳本編寫,而不需要對程序進行任何修改。只需查看所有用戶,看看appdata中的文件夾是否存在,然後將其刪除即可。 無論如何,我實施了目前的解決方案;在啓動時,程序現在將用戶的設置文件夾添加到嵌套在「All Users \ Appdata」文件夾中的文件列表中(當然,只有當它不在其中時)。現在我必須等待我的Win7測試儀的結果,看看是否有多個用戶確實可以正確操縱該文件......無論如何,感謝您的幫助:) – Nyerguds 2010-07-19 14:18:17