2017-08-25 119 views
-1

我爲我的應用程序創建了inno安裝程序安裝程序。現在我想將該安裝程序放置在用戶可以從其安裝的共享文件夾中。從共享驅動器運行inno安裝程序

安裝程序需要將文件放在{%HOMEPATH}\{#MyAppName}目錄中。但是,當我設置AllowUNCPath=yes它可以從共享驅動器運行,但它會將文件安裝在fileshare\{%HOMEPATH}\{#MyAppName}上。

是否可以從文件共享中運行安裝程序並將其安裝在用戶本地驅動器上?

我的設置部分看起來像:

[Setup]  

    AppId="{{AAAAAA-AAAA-AAAA-AAAA-AAAAAAAA}" 
    AppName={#MyAppName} 
    ;AppVersion={#MyAppVersion} 
    AppVersion={code:getVersionNumber} 
    ;AppVerName={#MyAppName} {#MyAppVersion} 
    AppPublisher={#MyAppPublisher} 
    DefaultDirName={%HOMEPATH}\{#MyAppName} 
    DefaultGroupName={#MyAppPublisher} 
    OutputDir=compiledInstaller 
    OutputBaseFilename=setup 
    SetupIconFile={#iconName} 
    ;Set some installer settings 
    Compression=lzma 
    SolidCompression=yes 
    ArchitecturesAllowed=x64 
    PrivilegesRequired=lowest 
    AllowCancelDuringInstall=False 
    AllowUNCPath=false 
    ArchitecturesInstallIn64BitMode=x64 
    CreateUninstallRegKey=yes 
    UsePreviousAppDir=yes 
    ;Disable different screens 
    DisableDirPage=yes 
    DisableProgramGroupPage=yes 
    DisableReadyPage=True 
    DisableReadyMemo=True 
    DisableFinishedPage=True 
    DisableWelcomePage=True 

    [Files] 
    Source: "{#path}*"; DestDir: "{app}"; Flags: external recursesubdirs 
    Source: "{#path}/.eclipseproduct"; DestDir: "{app}"; Flags: external 
    Source: "{#installerPath}/{#ScriptName}"; DestDir: "{app}"; Flags: external 
    Source: "{#installerPath}/{#iconName}"; DestDir: "{app}"; Flags: external 

pathinstallerPath變量被鏈接到共享驅動器上的文件。

,我從運行在共享驅動器安裝程序時,得到了錯誤的樣子: enter image description here

回答

1

您的問題無關,與一個共享驅動器。

這是由於HOMEPATH變量。它的價值就像\Users\username。路上沒有驅動器。所以它只能運行,如果你從C:驅動器運行安裝程序。如果你從其他地方運行它,路徑自然會被錯誤地解析。

您必須使用絕對路徑。您可以使用USERPROFILE變量而不是HOMEPATHUSERPROFILE的值與C:\Users\username相似。

相關問題