Install hangs with Resolve SourceDir property

Install hangs with Resolve SourceDir property

kefr
Enthusiast Enthusiast
6,676 Views
13 Replies
Message 1 of 14

Install hangs with Resolve SourceDir property

kefr
Enthusiast
Enthusiast

I tested my deployments on a clean Windows 1903 last week and it worked fine. Now we're deploying, and I don't know what happened since I made the deployment, but it doesn't complete.

While installing the following step : Img\x64\INV\inventor.msi I get the msi to just hang forever. When running visibly it tells me it's doing the step mentioned in the topic line. 

Here's the relevant log lines from msi : 

MSI (s) (54:B8) [11:35:43:616]: Transforming table CustomAction.

MSI (s) (54:B8) [11:35:43:616]: Note: 1: 2262 2: CustomAction 3: -2147287038
MSI (s) (54:B8) [11:35:43:616]: Transforming table CustomAction.

MSI (s) (54:B8) [11:35:43:616]: PROPERTY CHANGE: Modifying MITSILICPATH.8CAA0058_0064_2020_BE3C_0382C62FEAD5 property. Its current value is '0'. Its new value: 'C:\ProgramData\Autodesk\Moldflow'.
Action start 11:35:43: SetMITSILICPATH.8CAA0058_0064_2020_BE3C_0382C62FEAD5.
MSI (s) (54:B8) [11:35:43:616]: Doing action: ResolveSource
Action ended 11:35:43: SetMITSILICPATH.8CAA0058_0064_2020_BE3C_0382C62FEAD5. Return value 1.

 

 

We're experiencing the same behavour on Windows 1803. Anyone with guesses as to what to do to fix it? I've tried running the installer link generated with the deployment as well as running each individual item in the order mentioned in the sccm document (our preferred way of deploying). I've checked that the mst files referred to are where it's looking for them. 

If nobody's got a solution my next step would be to make a completely new deployment with fresh files. I already did try going thru the modify deployment process in the hopes that something had just been eaten or something. 

 

I've attached a screenshot of the error as well as the log file for the current msi.

0 Likes
Accepted solutions (1)
6,677 Views
13 Replies
Replies (13)
Message 2 of 14

Mark.Lancaster
Consultant
Consultant

@kefr 

 

Installation issues should always be posted in the installation and licensing forum for best results.  https://forums.autodesk.com/t5/installation-licensing/bd-p/24

 

I will have the moderator relocate your posting there to best suit your needs..

 

From my take on the log and I could be wrong..   Its almost like the path of your deployment is too long..  The entire path length can impact the deployment..  I would recommend creating a new deployment with a short path description to the deployment.

Mark Lancaster


  &  Autodesk Services MarketPlace Provider


Autodesk Inventor Certified Professional & not an Autodesk Employee


Likes is much appreciated if the information I have shared is helpful to you and/or others


Did this resolve your issue? Please accept it "As a Solution" so others may benefit from it.

0 Likes
Message 3 of 14

kefr
Enthusiast
Enthusiast

Tried shortening the unc path by renaming the folder to 1

Same result. It's also worth noting that the installer is running from the same path as all versions since 2014 have, and the folders have similar names as well as does the content in them. Was worth a shot though. Now I'm downloading the installer from scratch on a virtual machine and creating a new deployment from scratch. Already tried making a new deployment using the files downloaded last time. Not sure it'll work, but it must be done installing when friday hits 17:00

0 Likes
Message 4 of 14

kefr
Enthusiast
Enthusiast

Interesting find! I tried running the old installer on a clean Windows 7 7601 and the installer continues just fine on that system! Here's the next bit of the log file:

MSI (s) (60:90) [16:11:08:204]: Resolving source.
MSI (s) (60:90) [16:11:08:204]: Resolving source to launched-from source.
MSI (s) (60:90) [16:11:08:204]: Setting launched-from source as last-used.
MSI (s) (60:90) [16:11:08:204]: PROPERTY CHANGE: Adding SourceDir property. Its value is '\\scdp12\unclib$\Autodesk Inventor 2020 EUC\Img\x64\INV\'.
MSI (s) (60:90) [16:11:08:204]: PROPERTY CHANGE: Adding SOURCEDIR property. Its value is '\\scdp12\unclib$\Autodesk Inventor 2020 EUC\Img\x64\INV\'.
MSI (s) (60:90) [16:11:08:204]: PROPERTY CHANGE: Adding SourcedirProduct property. Its value is '{7F4DD591-2464-0001-0000-7107D70F3DB4}'.
MSI (s) (60:90) [16:11:08:204]: SOURCEDIR ==> \\scdp12\unclib$\Autodesk Inventor 2020 EUC\Img\x64\INV\
MSI (s) (60:90) [16:11:08:204]: SOURCEDIR product ==> {7F4DD591-2464-0001-0000-7107D70F3DB4}
MSI (s) (60:90) [16:11:08:204]: Determining source type
MSI (s) (60:90) [16:11:08:204]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (60:90) [16:11:08:204]: Source type from package 'inventor.msi': 4
MSI (s) (60:90) [16:11:08:204]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (s) (60:90) [16:11:08:204]: Source path resolution complete. Dumping Directory table...

0 Likes
Message 5 of 14

kefr
Enthusiast
Enthusiast

Update: Downloading everything freshly and making a new deployment doesn't change anything. 

A working suggestion, other than installing Windows 7, is very welcome. 

I have 255 computers that I need to deploy this software to. 

0 Likes
Message 6 of 14

kefr
Enthusiast
Enthusiast
Accepted solution

New update. I left this garbage fire on for the night, and now that I'm back at my desk, I notice a change! 

The installer decided to continue 31 minutes after hanging, despite the log files keeping the old timestamp for the next 16 lines (that definetly weren't there at the time it is stamped with). 

Anyway, it would seem that the installer just sits idle for 30+ minutes before deciding what to do. 

I'll try the old deployment again and just leave it be - see how that turns out. 

Message 7 of 14

kefr
Enthusiast
Enthusiast

Update: DWG Viewer has the same behavior. The time it 'idles' scales negatively with network performance. Deploying about 70 installations simultaneously and it'll take over an hour before it continues. 

0 Likes
Message 8 of 14

shenx
Autodesk
Autodesk

it could be because the windows installer service is calculating hash for all the files. SECREPAIR is the keyword. if the install source is at a slow location, this will take long time.

0 Likes
Message 9 of 14

todd.rathier
Enthusiast
Enthusiast

I am having the exact same problem deploying to a fresh Windows 10 system. The only difference is that this deployment package has deployed successfully to 30+ Windows 10 systems just a few months ago. So I know the deployment works.

0 Likes
Message 10 of 14

thom-g
Advocate
Advocate

We are also having the same problems with installing and with updating too.

Below is the relevant section of the log file (Inventor update 2020.3).

Yes, the network is slow, but not that slow.

It took more than 7 hours for a single MSI step!

Can we somehow disable the SECREPAIR action?

 

MSI (s) (04:44) [00:02:24:813]: Resolving source.
MSI (s) (04:44) [00:02:24:813]: User policy value 'SearchOrder' is 'nmu'
MSI (s) (04:44) [00:02:24:813]: User policy value 'DisableMedia' is 0
MSI (s) (04:44) [00:02:24:813]: Machine policy value 'AllowLockdownMedia' is 0
MSI (s) (04:44) [00:02:24:813]: SOURCEMGMT: Media enabled only if package is safe.
MSI (s) (04:44) [00:02:24:813]: SOURCEMGMT: Looking for sourcelist for product {7F4DD591-2464-0001-0000-7107D70F3DB4}
MSI (s) (04:44) [00:02:24:813]: SOURCEMGMT: Adding {7F4DD591-2464-0001-0000-7107D70F3DB4}; to potential sourcelist list (pcode;disk;relpath).
MSI (s) (04:44) [00:02:24:813]: SOURCEMGMT: Now checking product {7F4DD591-2464-0001-0000-7107D70F3DB4}
MSI (s) (04:44) [00:02:24:813]: SOURCEMGMT: Media is enabled for product.
MSI (s) (04:44) [00:02:24:813]: SOURCEMGMT: Attempting to use LastUsedSource from source list.
MSI (s) (04:44) [00:02:24:813]: SOURCEMGMT: Trying source \\..........(* PATH REMOVED FROM LOG FILE *)..........\Inventor\Img\x64\INV\.
MSI (s) (04:44) [00:02:48:394]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (04:44) [00:02:51:110]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (s) (04:44) [00:02:51:289]: SOURCEMGMT: Resolved source to: '\\..........(* PATH REMOVED FROM LOG FILE *)..........\Inventor\Img\x64\INV\'
MSI (s) (04:44) [00:02:51:289]: PROPERTY CHANGE: Adding SourceDir property. Its value is '\\..........(* PATH REMOVED FROM LOG FILE *)..........\Inventor\Img\x64\INV\'.
MSI (s) (04:44) [00:02:51:289]: PROPERTY CHANGE: Adding SOURCEDIR property. Its value is '\\..........(* PATH REMOVED FROM LOG FILE *)..........\Inventor\Img\x64\INV\'.
MSI (s) (04:44) [00:02:51:289]: PROPERTY CHANGE: Adding SourcedirProduct property. Its value is '{7F4DD591-2464-0001-0000-7107D70F3DB4}'.
MSI (s) (04:44) [00:02:51:289]: SOURCEDIR ==> \\..........(* PATH REMOVED FROM LOG FILE *)..........\Inventor\Img\x64\INV\
MSI (s) (04:44) [00:02:51:289]: SOURCEDIR product ==> {7F4DD591-2464-0001-0000-7107D70F3DB4}
MSI (s) (04:44) [00:02:51:289]: Determining source type
MSI (s) (04:44) [00:03:05:295]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (04:44) [00:03:06:030]: Source type from package 'inventor.msi': 4
MSI (s) (04:44) [00:03:06:030]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (s) (04:44) [00:03:06:210]: SECREPAIR: Hash Database: C:\WINDOWS\Installer\SourceHash{7F4DD591-2464-0001-0000-7107D70F3DB4}
MSI (s) (04:44) [00:03:58:295]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (04:44) [07:40:11:457]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (s) (04:44) [07:40:11:636]: Transforming table CustomAction.

 

d

Message 11 of 14

Anonymous
Not applicable

Same here. Installing Autodesk Inventor and screen "hangs" on Resolve SourceDir Property. Will wait another 30 minutes to see.

 

Inventor4.jpg

0 Likes
Message 12 of 14

Anonymous
Not applicable

Still suffering with this installation. Pretty much every bigger step takes 15 or more minutes now for DWG trueview and for Revit Interoperability on "Computing space requirements". It's close to three hours of installation on a single machine, all media was copied into Temp folder (around 12Gb). License is (will be) via network server.

Is there a new install package or fix that addresses this?

 

Corporate Machine with Windows 10 and bitlocker, as most Design users here use.

 

0 Likes
Message 13 of 14

thom-g
Advocate
Advocate

Hi all,

Based on the answer of @shenx , i found the solution #4 on this Autodesk website: Install Failure: Error 997. Overlapped I/O operation is in progress 

With this solution, I was able to reduce the installation/update time on our machines.

Unfortunately, you will need the product codes of all *.msi files of all Autodesk deployments for this solution.

Fortunately, you do not need to install Microsoft Orca, you can also read the required information out with a PowerShell script.

 

Warning:

  • The above solution is overriding a Microsoft security functionality. This can be harmful. Do not change anything if you do not have to.
  • The above solution does modify the Windows registry. When working with the registry, you should always create a backup first.

 

How to get the product codes:

  1. Copy the script sourcecode
  2. Start the program "Windows PowerShell ISE"
  3. Create a new script/page
  4. Paste the sourcecode
  5. Change the deployment paths to your server paths
  6. Execute the script
  7. Check the created *.reg file on our Desktop
  8. Import the registry values on your machines

Powershell_ISE.png

 

# enter here all directory paths of all deployments
$deploymentPaths = @(
    "\\ServerPathToYourDeployments\2020_3ds_Max"
    "\\ServerPathToYourDeployments\2020_AutoCAD_Mechanical"
    "\\ServerPathToYourDeployments\2020_Inventor"
    "\\ServerPathToYourDeployments\2020_Nastran"
    "\\ServerPathToYourDeployments\2020_Navisworks"
    "\\ServerPathToYourDeployments\2020_Recap"
    "\\ServerPathToYourDeployments\2020_Revit"
)


# enter here the desired output file path for the *.reg file
$outputRegistryFile = "$env:USERPROFILE\Desktop\AdskProductCodes.reg"


#
# DO NOT CHANGE ANY VALUE FROM HERE
#

function Get-MsiProductCodes
{
    param
    (
         [Parameter(Mandatory=$true,
             Position=0,
             ValueFromPipeline=$True,
             ValueFromPipelineByPropertyName=$True,
             HelpMessage='Full path of the *.reg file, that will be created')]
         [IO.FileInfo]$registryOutFilePath,
         [Parameter(Mandatory=$true,
             Position=1,
             ValueFromPipeline=$True,
             ValueFromPipelineByPropertyName=$True,
             HelpMessage='Array of direcotries, which contain the *.msi files')]
         [IO.DirectoryInfo[]]$msiDirectoryPaths
    )
 
    try {
        $com_object = New-Object -com WindowsInstaller.Installer
        
        Write-Output "Writing registry file header..."
        "Windows Registry Editor Version 5.00" | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Force
        "" | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Append
        "[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]" | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Append
        '"SecureRepairPolicy"=dword:00000002' | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Append
        "" | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Append
        "[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\SecureRepairWhitelist]" | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Append

        Write-Output "Finding *.msi files and reading their properties..."
        $msi_productcodes = New-Object System.Collections.Generic.List[System.String]

        $maxi = $msiDirectoryPaths.Count
        for($i = 0; $i -lt $maxi; $i++ )
        {
            $progi = $i * 100 / $maxi
            Write-Progress -Activity Updating -Status 'Directories' -PercentComplete $progi -CurrentOperation OuterLoop

            $dirPath = $msiDirectoryPaths[$i]
            if(![System.IO.Directory]::Exists($dirPath)) {
                Write-Output "`tDirectory $dirPath does not exit!"
                continue
            }
            Write-Output "`tFinding *.msi files in $dirPath..."
            $msi_files = Get-ChildItem -Path $dirPath -Include *.msi,*.MSI -Recurse -ErrorAction SilentlyContinue -Force

            if ($msi_files -ne $null) {
                $maxj = $msi_files.Length
                for($j = 0; $j -lt $maxj; $j++ )
                {
                    $progj = $j * 100 / $maxj
                    Write-Progress -Id 1 -Activity Updating -Status 'MSI files' -PercentComplete $progj -CurrentOperation InnerLoop

                    $msi_path = $msi_files[$j]
                    Write-Output "`t`tReading properties of $msi_path..."
                    $database = $com_object.GetType().InvokeMember( 
                        "OpenDatabase", 
                        "InvokeMethod", 
                        $Null, 
                        $com_object, 
                        @($msi_path.FullName, 0) 
                    ) 
 
                    $query = "SELECT * FROM Property" 
                    $View = $database.GetType().InvokeMember( 
                            "OpenView", 
                            "InvokeMethod", 
                            $Null, 
                            $database, 
                            ($query) 
                    ) 
 
                    $View.GetType().InvokeMember("Execute", "InvokeMethod", $Null, $View, $Null) 
 
                    $record = $View.GetType().InvokeMember( 
                            "Fetch", 
                            "InvokeMethod", 
                            $Null, 
                            $View, 
                            $Null 
                    ) 
 
                    $msi_ProductCode = ""
                    $msi_ProductName = ""
                    $msi_regstring = ""
                    while ($record -ne $null) { 
                        $prop_name = $record.GetType().InvokeMember("StringData", "GetProperty", $Null, $record, 1) 
                        $prop_value = $record.GetType().InvokeMember("StringData", "GetProperty", $Null, $record, 2) 
                        $prop_nameUpper = $prop_name.ToUpper()
                        if ($prop_nameUpper -eq "PRODUCTCODE") {
                            $msi_ProductCode = $prop_value 
                        }
                        if ($prop_nameUpper -eq "PRODUCTNAME") {
                            $msi_ProductName = $prop_value
                        }
                        $record = $View.GetType().InvokeMember( 
                            "Fetch", 
                            "InvokeMethod", 
                            $Null, 
                            $View, 
                            $Null 
                        ) 
                    }
                    if ($msi_productcode -ne "") {
                        $msi_regstring =  ('"' + $msi_productcode + '"="' + $msi_productname + '"')
                        if(!($msi_productcodes.Contains($msi_regstring))) {
                            $msi_productcodes.Add($msi_regstring)
                        }
                    }
                }
                Write-Progress -Id 1 -Activity Updating -Status 'MSI files' -PercentComplete 100 -CurrentOperation InnerLoop
            }
        }
        Write-Progress -Activity Updating -Status 'Directories' -PercentComplete 100 -CurrentOperation OuterLoop
        
        Write-Output "Writing registry file content..."
        foreach($item in $msi_productcodes) {
            $item | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Append
        }
        "" | Out-File -FilePath $registryOutFilePath -Encoding Unicode -Width 512 -Append

        Write-Output "Successful! The file was saved here: $registryOutFilePath"
        return 0
    } catch {
        Write-Output "Something has failed: $_"
        return 1
    }
}

Get-MsiProductCodes $outputRegistryFile $deploymentPaths

 

0 Likes
Message 14 of 14

todd.rathier
Enthusiast
Enthusiast
Thank you! I'm currently under quarantine but I will try this when I get back.
0 Likes