Page 1 of 1

Audacity lame_enc.dll location preset

Posted: Thu Feb 19, 2009 2:59 pm
by staffmm
Hi,

The Story:

I'm currently trying to distribute Audacity to ours schools computers, however, because we use RM, we have to use their package management system.

Because of this, software must been installed, between two snapshots. One where the computer doesn't have the software installed, and one where it does.

From this the package manager then generates an MSI of the changed files and settings and distributes that.

However, it appears to have a problem with HKEY_CURRENT_USER registry keys, as it doesn't re-run the MSI the first time the program is used, to generate any user specific registry keys.

Please note that the key is within the MSI, it's simply not applied because the software is installed at startup, when no user is logged on.

Ideally i need the MSI to re-run/register itself when the user runs it for the first time, which should apply the CURRENT_USER keys, simular to Microsoft Office when a new user logs on.

The Problem:

Users are unable to export MP3's, because they're unable to browse to the lame_enc.dll file, which is based on the C drive (restricted), as requested when a user attempts to export an MP3.

The user can access the file, they simply can't navigate to it through the open dialog box, so i need to preset the MP3LibPath registry to it doesn't ask them.

Is there any way of settings the key when the user opens the software?

I've spoken to RM and they have directed me to the following forum/post

http://communities.rm.com/forums/posts. ... stID=58687

I am concidering following Jamie Shand's second option, which i think forces the software to re-register itself with windows for each individual user.

However, Jamie mentions about needing a product code, does anyone know what the product code is?

I hope this makes sense. If not just ask and i'll try and explain myself better.

Thanks for any help.

Matthew Millar

Re: Audacity lame_enc.dll location preset

Posted: Thu Feb 19, 2009 6:17 pm
by steve
Sorry I don't know about MSI files but perhaps there is something here to help: http://audacityteam.org/forum/viewtopic.php?f=23&t=6397

(By the way, your link is not accessible without logging in).

Re: Audacity lame_enc.dll location preset

Posted: Fri Feb 20, 2009 8:06 am
by staffmm
Thanks Steve,

I'll have a look at the thread.

The post on the RM Communities forum was:
I created a package with the lame included back in 2006 using the following instructions:

Created the package like normal, copying the lame_enc.dll file into the plug-Ins folder, pointing the app to the encoder and changing the temp dir to N:audacity_temp before the after snapshot then i allocated the app.

The lame path details is stored in the HKCU hive so won't get stored when the app is allocated so you can either:

1)Create a new UserType copying the standard UserType template and added a custom setting which was the .reg file that gets created when making the msi but i had to changed Two entries to get this to work properly.

[HKEY_CURRENT_USERSoftwareAudacityAudacityMP3]
"MP3LibPath"="@ProgFilesAudacityPlug-Inslame_enc.dll"

I changed to (take out the extra in between the path)

[HKEY_CURRENT_USERSoftwareAudacityAudacityMP3]
"MP3LibPath"="C:Program FilesAudacityPlug-Inslame_enc.dll"

and

[HKEY_CURRENT_USERSoftwareAudacityAudacityDirectories]
"TempDir"="@Personalaudacity_temp"

I changed to

[HKEY_CURRENT_USERSoftwareAudacityAudacityDirectories]
"TempDir"="N:audacity_temp"

or

2) Make the msi as normal but add custom reg entry:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftActive SetupInstalled Components[Product Code] and add to this a REG_SZ with a value name of "StubPath" and a value of "msiexec /fup {Product Code}"
When allocated and a user logs on this reg entry will check for HKCU user entries in the msi and apply them to the logged on user. This will only run the first time the app is used per user not every time. This will also run again if a profile reset is run on a user.


The second option was what i opted for and worked a treat but this was on v1.2.4. I'm not sure what version is out now but imagine it shouldn't be too different